70cc1751c Translate-c fix rhs not cast on array access
8b82c4010 stage1: reimplement HashMap
6f98ef09e Merge pull request #5717 from squeek502/fs-dir-file-ops
d2a4e5e22 Merge pull request #5749 from kubkon/wasi-notcapable
30ae7f757 Corrected default value field initialization in std.zeroInit
b8d5b3e61 Add documentation for @src() builtin
7eed22092 in docs removed "path can be absolute" for imports
f69875d85 build: -Dlib-files-only prevents self-hosted compiler from being built
8306826d5 Map ENOTCAPABLE into error.AccessDenied instead of error.NotCapable
66814f246 stage2: implement liveness analysis
5bc99dd7e Fix more compilation errors
b96882c57 Fix compilation errors
bf8bf528c Handle ENOTCAPABLE in WASI
67e97a1f0 ArenaAllocator: use full capacity
35e8876c2 Revert "arena_allocator: refactor and use full capacity"
1eed0cf0f zig fmt and delete unused type
aa9244636 stage2: implement function parameters
e120b07a5 arena_allocator: refactor and use full capacity
c2eead962 Fix issue 5741, use after free
74c245aea Disable wasi 'readFileAlloc on a directory' assertion for now
374e3e42e WasmPageAllocator: fix bug not aligning allocations
581d16154 Merge pull request #5696 from alexnask/async_call_tuple
ac6bf5306 implement symbol collision detection (#5708, stage2: clean up test harness
80b70470c Stage2/Module: Add symbol -> export lookup table
ffca1569d Return instead of branch
38d2c5cdf Rename type -> extension
1861c2514 Improve Tranform failure output
97c41e715 Disable test
54148a8c8 Stage2/TestHarness: Improve progress reporting
0cfe8e5d6 Merge pull request #5064 from marler8997/newAllocator
a72843699 new allocator interface after Andrew Kelley review
ab307a22f Stage2: remove clearErrors, fix ZIR export collision detection
626b5ecca Move fs-specific tests from os/test.zig to fs/test.zig
12aca758c Dir.deleteFile: Fix symlink behavior when translating EPERM to EISDIR
505bc9817 Implement Dir.deleteFile in terms of deleteFileZ/deleteFileW
14c3c47fb fs.deleteFile: Translate to error.IsDir when appropriate on POSIX systems
dc9648f86 new allocator interface
bb55889ce README: add link to troubleshooting build issues wiki page
52787f2c9 Fix a dumb
6d536168b Stage2/Testing: Update documentation
0e952a9f3 Stage2/Testing: Simply incremental compilation tests
c8f60b2e2 Stage2: handle missing function names
651088803 Stage2: function redefinition detection for Zig code
4a17e008d Stage2: exported symbol collision detection
e5a3cb8d7 Stage2: fix incremental compilation after error
53fead580 Add a `compiles` wrapper case
0e3d74df8 Add tests for using file operations on directories
649da2df5 Stage2/Testing: Add convenience wrappers
130c7fd23 self-hosted: working towards conditional branching test case
e820678ca Merge pull request #5588 from tgschultz/leb128-output
061c8be04 Merge pull request #5684 from squeek502/fs-file-dir-ops
77bb2dc09 Use writer in benchmarks
dcdbb7006 Add tests for using directory operations on files
f50ed9417 Windows: Fix fs.Dir.openDir not handling STATUS_NOT_A_DIRECTORY
41c6cc900 Merge pull request #5677 from kubkon/fstatat
78d893164 Fix issue #5618 (#5685
2fde8249b Fixed crash when resolving peer types of *[N:s]const T and [*:s]const T
c88edbc46 OOM -> catch unreachable
5d7e981f9 Clean up test harness
d337469e4 Merge pull request #5583 from ziglang/zig-ast-to-zir
7875649c2 Pdb.openFile use `[]const u8` instead of `[]u8`
20b4a2cf2 self-hosted: add compare output test for new AST->ZIR code
5aa3f5677 self-hosted: fix test regressions
fd7a97b3b fix memory leak of anonymous decl name
e42b7702e Merge remote-tracking branch 'origin/master' into zig-ast-to-zir
129a4fb25 Copy union const values correctly
d40e367b7 Reformat using if-else where appropriate
c63b23d68 Use fstatat on macOS (otherwise uses 32bit
be78b7b64 Implement fstatat targeting WASI
2c7fc1c5c Merge branch 'marler8997-fixAzureMsys2'
489c31b6f azure ci: install tar and xz with pacman
3a2cc5dec azure-pipelines: fix msys2 install
ff2ddcf38 Updated @asyncCall docs
7f342451b Fixed @asyncCall in runtime safety test
eefcd0446 Small fixes, added test for argument tuple type, fixed tests
50b70bd77 @asyncCall now requires an argument tuple
14aa08fcd self-hosted: restore ZIR functionality
3aab6012c Revert "building mingw-w64 for windows ARM looks in lib64/lib32 for .def files"
93f0bcb64 building mingw-w64 for windows ARM looks in lib64/lib32 for .def files
b1b7708cc self-hosted: hook up incremental compilation to .zig source code
a1a1f94a0 Merge pull request #5681 from kubkon/refactor-wasi-preopens
d9c1d8fed self-hosted: improve handling of anonymous decls
5fed725e0 Remove some leftover debugging checks
66e520504 Refactor PreopenList.find(
0de35af98 Add duplicate checking for switch on types * Add compile error tests
6938245fc Merge remote-tracking branch 'origin/master' into zig-ast-to-zir
7b68385d7 self-hosted: astGenIntegerLiteral support other bases
d98aed6ef self-hosted: generalize `astGenBuiltinCall`
78c6d39cd Merge pull request #5667 from cartr/windows-arguments-unclosed-quote
923c0feda Add std.fs.File.readAllAlloc tests
6ff6ac866 Merge pull request #5666 from kubkon/symlinkat-readlinkat
44bd0a267 Merge pull request #5662 from shtanton/meta-cast
65ef74e2c `try` allocation of pointer type when parsing (#5665
7cb41a415 ArgIteratorWindows: simplify quote state tracking
8faa85ac1 ArgIteratorWindows: don't treat unclosed quotes like they're escaped
c950f0c6c Enhance std.os.readlinkat coverage
64078ca92 Enhance std.os.symlinkat coverage
8c15cfe3d Compacts switch statements and string literal
d907f574e stage1: fix concat of sliced str literals
8696e52a3 Make unary minus for unsigned types a compile error (#5654
126f5702d Merge pull request #5655 from squeek502/zig-fmt-cli-test
6f4751300 Adds std.meta.cast and uses it to simplify translate-c
b70c38c33 Close source file after reading it in zig fmt
399f6b77c Add 'no changes' test to zig fmt cli test
b216d8de8 Simplify unformatted code in zig fmt cli test
b5f90244a temporary: Add test-cli step for only running cli tests
ca9d8a133 Add zig fmt test to cli tests for both files and directories
56220449a Add errors to windows.WSAStartup and WSACleanup
edea7a46e Merge branch 'DrDeano-master'
faf783e59 implement new stat functionality for WASI
225f19684 std.fs: fix shadowing `stat` with a local variable
64dfd1883 zig fmt: avoid unnecessary file system access
0a9672fb8 rework zig fmt to avoid unnecessary realpath() calls
da549a72e zig fmt
d87cd0629 rework zig fmt to use less syscalls and open fds
bc0ca7388 Moved the check for formatting a directory
5229f6ec6 Use writer in std.fmt
aa894cea2 Merge pull request #5645 from Sobeston/patch-7
852771835 langref - document that This works on enums too
605769ec2 Replaced all occurrences of std.debug.warn in the docs with std.debug.print
237c5429b Don't attempt to use io from thin air
c9a0ec25e self-hosted: add Tracy integration
0d18eda1d Merge pull request #5348 from ifreund/std-log
c70633eac Merge pull request #5203 from tadeokondrak/@type-for-even-more-types
b9e3df92d Merge branch 'deingithub-fmt-mode-thingybob'
f7bcc8e04 rework zig fmt to only make one allocation
8b49487c3 Fix fs.File.mode() not returning mode_t on windows
b30642a86 Fix zig fmt clobbering a file's mode
bd17a373c Add std.unicode.Utf8Iterator.peek
5ea0f589c Merge pull request #5625 from antlilja/master
caaa26c9f reference emit_raw in std lib tests
355319fb6 zig cc: add missing cxxabi include path
7e4430226 stage2: explicit hash and equality function for the DeclTable
81f766eec self-hosted parser: make a function pointer comptime
46b57748a stage1: stop emitting memset to undefined when safety is off
02f688d71 remove std.debug.warn debugging logs
7e58c56ca self-hosted: implement Decl lookup
b4eac0414 stage2: hook up Zig AST to ZIR
4a3879963 make file and fn_name fields of SourceLocation also null-terminated
e54ed9f63 Merge pull request #5628 from Vexu/src
14acc6567 add tests for `@src`
a5379aa3e implement `@src`
c3e022479 Add std.debug.print for "printf debugging"
eb7fad28f Improve f128 standard library support * Add functions: floor128, ceil128, trunc128 and round128 * Add corresponding tests
1157ee130 Improve builtin op support for f128/comptime_float * Add support for fabs, ceil, floor, trunc and round * Add behavior tests
8e5393a77 Deprecate std.debug.warn
0bd067d19 Introduce std.log
978134204 Merge pull request #5607 from daurnimator/cleanup-debug-stderr
f0b8791da ArrayList(u8) support writer interface
593db7e8d Merge pull request #5608 from alexnask/windows_utf16_dir
04c3fae72 Remove obsolete branch in ir_analyze_cast
38e69a9e6 Added test to ensure minimum number of bytes is emitted for writes
a0160d776 Code cleanup, documentation added, read*Mem functions now take *[]const u8
00ec81b0d Overhauled leb128: handles integers < 8 bits incorrect overflow bugs fixed simplified *mem implementations added wrte* functions added thurough write/read testing
928d3ee9e Code cleanup, documentation added, read*Mem functions now take *[]const u8
e94eba5df Overhauled leb128: handles integers < 8 bits incorrect overflow bugs fixed simplified *mem implementations added wrte* functions added thurough write/read testing
7f2486073 Code cleanup, documentation added, read*Mem functions now take *[]const u8
8978fe94c Overhauled leb128: handles integers < 8 bits incorrect overflow bugs fixed simplified *mem implementations added wrte* functions added thurough write/read testing
f595545c1 Merge pull request #5422 from pixelherodev/error_tests
a99e61eba Stage2/Testing: Code cleanup
afec3e72f Stage2/Testing: Enable another test
7d1c9a69c Stage2/Testing: Remove dead code
adb21f1ca Stage2/Testing: Add error tests to ZIRCase
7ee0462f5 Stage2/Testing: Fix transformation tests
1e5945d0a Stage2/Testing: remove ZIRTransformCase
71dca252a Stage2/Testing: Rename stage -> update
b6bd51ed6 Stage2/Testing: Move Transformation case to ZIRCase
e77fc7fe7 Stage2/Testing: Fix error specification
6dce317fe Stage2/Testing: Fix error tests
d4fd7c6a0 Stage2/Testing: Staged test harness draft design
2ed07a36f [Stage2/Testing] Attempt to call nakedcc function
bf8b3a439 [Stage2/Testing] Handle decl and export errors
68cc068a3 [Stage2/Testing] Make API more friendly
bebc1f49c [Stage2/Testing] Add (failing) test
2d1d012f1 [Stage2/Testing] Reduce test
e030414c1 [Stage2/Testing] Always finish case, note all errs
f2399db3e [Stage2/Testing] Don't rely on update erroring
67414be86 [Stage2/Testing] Print name of failed test
c92816fbe [Stage2/Testing] ZIR tests for expected errors
2bb3e1aff stage1: implement type coercion of anon struct literal to struct
2c8a3aaf8 Use _wfopen instead of fopen on windows
242246f79 UTF16 create process, utf8->utf16 fix
c34bdff4b Use more wide functions on windows
af592f0dd std: remove std.debug.getStderrStream
ce3035753 std: clean up debug stderr variables
3b0b56b81 Switched more Windows FS calls to their wide versions
037c72fe6 Convert paths to UTF-16 before calling CreateDirectory on windows
e7207bc26 add workaround for #5599
09cded209 Add strict_align to pre-v6 ARM targets
866651a5a Merge pull request #5589 from kubkon/preopens-example
1bc92b1fd Fix formatting of floating point values with the B and Bi specifiers
57f1ed532 Fix a few std.sort.sort invocations
7d8fd4526 Merge pull request #5595 from ifreund/doc-arraylist-fix
a25429795 docs: fix mention of deprecated ArrayList.span(
200f9ea6f Add unit test for std.fs.wasi.PreopenList
c7721bb36 Add custom format method for Preopen struct
e4a8598dd Add doc example for extracting WASI preopens
a282ac7a9 Support Reader for InStream
4302f276e Merge branch 'kubkon-wasm-instrinsics'
42c95a64d Update langref.html.in
660eef9a4 Document the builtins
52b97eeef Return u32 in @wasmMemorySize instead of i32
057d97c09 Return should be i32 due to error signaling in memory.grow
3f0a3cea6 Fix builtins to return and accept u32 instead of i32
8ffa8ed9a Expose full llvm intrinsic
73a3bfd1d Add basic tests for the new builtins
146be2a8c Use builtins in std.heap.WasmAllocator
601e831f1 Add builtin for llvm.wasm.memory.grow.i32 intrinsic
ce3f0077c Add builtin for llvm.wasm.memory.size.i32 instrinsic
12051b02f fix memory errors
9ee98f103 Merge pull request #5539 from mikdusan/issue5474
748158277 support Writer instead of OutStream
f5b584cc1 Merge pull request #5567 from mikdusan/qemu
d2278f215 Merge pull request #5566 from ziglang/stage2-garbage-collect-decls
0ff5d7b24 Add option for overriding the stack size
cde7c7567 Increase default Wasm stack to 1MB
0d40cb625 stage1: fix crash on slice byte reinterpretation
05d284c84 update sort callsite to new API
c2f547f91 ci linux: bump qemu-5.0.0-49ee115552
47090d234 stage2: add passing test for compile error in unreferenced cycle
9ea4965ce self-hosted: remove deleted Decls from failed_decls
91930a4ff stage2: fix not re-loading source file for updates after errors
cf654b52d stage2: -femit-zir respects decl names and supports cycles
d4d954abd std.sort: give comparator functions a context parameter
c405844b0 [Stage2/x86] Fix 8-bit register order
37695ed81 Merge pull request #5556 from iansimonson/try_other_addresses
a6d1ef64d tcpConnectToHost try all addresses in AddressList
983f93c84 Test case for tcpConnectToHost fix
499df9680 Merge pull request #5531 from Vexu/translate-c
c0c9d11d8 stage1: fix constness in some corner cases
f839d34ba std.os.windows.OpenFile: Handle FILE_IS_A_DIRECTORY status
95a5f6bf2 Windows: Handle ERROR_DIRECTORY in std.fs.deleteDirAbsolute when called on a file path
f7b6957fb Windows: Fix std.fs.Dir.deleteDir() deleting files
c27a8bd6b translate-c: don't crash on complex switches
fd067fbe8 add workaround for #5525
6524a64bd stage2: fix referencing decls which appear later in the file
14d235dd6 Merge branch 'lun-4-resolve-ip6'
7fd937fef cleanups
0d091dc92 Replace os.linux to os.system
6623efd7d Change ioctl's request type to i32
6d3d1152e Add declaration for libc ioctl
7c7105428 Replace syscall3 to os.ioctl
09c01ea7b Use resolveIp when looking up addresses on linux
c8468bed4 Add std.os.ioctl
c7b790ded net.test: only call resolveIp6 when os is linux
15efe03d1 Add tests for overflow
b72c86272 Use IFNAMESIZE for scope id value
aebf28eba Make ifru fields sentinel-terminated
c60daa255 Replace C types in declarations
2fa9cf51f Plug resolveIp6 into IPv6 tests
64e55a74d Add validation for scope ids
10ea2db5c Replace C shorts by integer types
11a06d434 Remove warn() calls
cb649b769 Fix ifreq definition
c50ac9a76 Change Unsupported to InterfaceNotFound
38109d48a Make interface name null-terminated before syscall
591983152 Stop using mem.len on array
901aab876 Add ioctl errors
2c641c93d Only resolve scope id when needed
f02f4c088 Fix typo and add if_nametoindex
9c200035f Add some interface structs to linux bits
b81630312 Add basics of resolveIp6
bae0c9b55 std.HashMap: allow ensureCapacity with a zero parameter
40a1cfed5 Merge pull request #5510 from jessrud/arraylist-fix
100aa6fba pass allocator to self.resize() in appendNTimes(
aa1a72728 Allow carriare return in comments
c6764fd25 Merge pull request #5475 from marler8997/windowsDns
8f4bc7726 Merge pull request #5449 from data-man/more_traits
f9b220ec2 Merge branch 'brodeuralexis-zero-init-helper'
109c0b9d9 rename std.mem.defaultInit to std.mem.zeroInit
c0e5eca6f Add initialization helper
937dcad0b fixed timestamp(
215a0d61a Fix evented builds on windows with runtime safety on
078e4afda Merge pull request #5500 from Vexu/fix
eb687810c Merge pull request #4976 from xackus/std-lib-docs
8c5c860b0 Merge pull request #5443 from data-man/mem_len_vectors
a47257d9b fix std.zig rejecting literal tabs in comments
0d32f4acf enable dns test on windows
f5eb31a55 Merge pull request #5491 from xackus/fix_5487
f5167f73e deps/SoftFloat-3e/: commit with LF line endings
58fb5b29b more windows network fixes
899d79f8f Merge pull request #5478 from vrischmann/fix-iouring
30b2bc86b Merge pull request #5477 from alexnask/patch-1
21544267e Merge pull request #5481 from kubkon/typo-packedintarray
250dd9ac2 stage1: fix unresolved inferred error sets
557d75d58 Merge pull request #5480 from Vexu/fix
13c405127 Fix typo in PackedIntArray tests
010c58e30 fix zig fmt out of bounds on empty file
2bae91e76 convert getaddrinfo rc to enum before switching on it
636d3ba78 linux: fix IOSQE_BIT decl and io_uring_sqe flags
dbdacb093 Fix WSARecvFrom signature
2eaab1e65 including dns, more windows network support
51682717d Support equality comparison for optional to non-optional (?T ==/!= T
f107d654e Merge branch 'gereeter-reduced-path-max'
89a97a7a2 cleanups
c209da158 Document the failure to improve selfExe{,Dir}PathAlloc
0674b5145 In getCwdAlloc, geometrically allocate larger buffers to find an appropriate size.
ab3931fa9 Prefer Files to paths in std.debug. Additionally [breaking] add a flags parameter to openSelfExe and stop exporting openElfDebugInfo.
631633b25 Document and reduce usage of MAX_PATH_BYTES, lifting arbitrary buffer size requirements
4c8b937fb Merge pull request #5184 from alexnask/typeof_extern_call
65c3833ec Merge pull request #5388 from kubkon/wasi-args-iter
e9f344dcd Add include dirs to translate-c (close #5098
3b4e29f1a [CI] Use ninja on Azura and Drone
834e8ac2d [Stage2/Codegen] Extract REX
6e347e618 Fix args iterator test
6f48842dd Make ArgIterator.init() a compile error in WASI
f1a4e1a70 Add ArgIteratorWasi and integrate it with ArgIterator
dc4fea983 Use tuples in multiTrait
0328537ca Support stringify for vectors (#5441
8630ae752 Remove reliance on hashing algorithm for iterator reset test.
1e0de896b Merge pull request #5452 from squeek502/comptime-string-map
6e89692d8 C ABI: Add C support for passing structs of floats to an extern function
34101127c Merge pull request #5463 from kubkon/link-issue-wasm-vector
dadc4327e Merge branch 'stage2-vaddr-alloc'
5d77fede8 remove debug log statements
0bd89979f stage2: handle deletions and better dependency resolution
4f24ab9cf Fix skipping condition (skip when wasm32
3dbe376c7 Link issue to the failing test case targeting wasm
3eed7a4de stage2: first pass at recursive dependency resolution
c91786caf zig fmt
f9bdf325d Added tests with tuple
c7ca1fe6f self-hosted: introduce a virtual address allocation scheme
2ae9e0636 Merge pull request #5448 from Vexu/translate-c
cd5b7b9e1 translate-c: use correct scope in for loop condition
3cac0a561 Not sure how a tab snuck in there
b683498ae Use ComptimeStringMap in std.meta.stringToEnum when feasible
dfafafac7 std.ComptimeStringMap: Add support for void value type (i.e. a set
62cfc68d2 Use std.ComptimeStringMap in the C tokenizer
a9dd79d29 Use std.ComptimeStringMap in zig's tokenizer
0865e5d36 Add std.ComptimeStringMap
e61e8c94b Reenable zig parser tests disabled targeting Wasm
78a1f6976 Add more traits
ba41a9d5d different strategy for tokenizing keywords
b6e1670d2 Use ccache (optionally
e1186c88e Remove unimplemented `init` call from ArrayListUnmanaged.
ef42ef9ce Merge pull request #5440 from kubkon/align-fn-error-wasm
49dd2cbd9 Support vectors in mem.len
dd62f63c0 fmt padding correction (#5403
19a04d8eb Add `writeToSlice` method to SegmentedList. (#5405
cb6bc5bdb Add caller location tracking for asserts (ir_assert, ir_assert_gen) (#5393, src_assert
57b78fff7 Merge branch 'daurnimator-pretty-print-non-exhaustive-enums'
62fefe864 std.fmt: non-exhaustive enums: avoid the loop when it's not necessary
5cdeac3b0 std: in fmt, use tag names of non-exhaustive enums when available
292d515e9 std: allow specifiying enums to be formatted as numbers
08b0cae77 Add matching compile error test
015c89929 Make align expr on fns a compile error in Wasm
d10e40797 More vector support in std.meta
d88db4d34 Changed test name to reflect it only fixes #4328
4b8077ea8 Merge pull request #5383 from Vexu/fix
49f3defe5 Merge branch 'leroycep-feature-cache-hash-zig'
7c8d0cc67 fix pwrite on 32-bit linux
a83aab520 fix std lib tests for WASI
cda102be0 improvements to self-hosted cache hash system
e07b467c7 fix missing compile error on while/for missing block
69ff89fd1 stage2 parser: heuristics to pre-allocate token arrays
6d5ec184a stage2 parser: heuristics to pre-allocate token arrays
72716ecc3 Fix improper initialization of CacheHashFiles
c3c332c9e Add max_file_size argument
5a1c6a362 Set manifest's maximum size to Andrew's recommendation
be69e8e87 Remove non-null assertion in `CacheHash.release()`
e6a37ed94 Change null pointer test to `addFilePost` test
42007307b Make if statement more idiomatic
2c59f95e8 Don't use `iterate` when opening manifest directory
1ffff1bb1 Add test case for fix in previous commit
0fa89dc51 Fix read from null pointer in CacheHash.hit
f13c67bcf Return an index from `CacheHash.addFile`
4d62d9707 Update code using deprecated ArrayList APIs
b429f4607 Make `addFilePost*` functions' documentation more clear
e7657f293 Make `CacheHash.release` return an error
967b9825a Add "no file inputs" test
4254d389d Add test checking file changes invalidate cache
b67a9f228 Switch to using `testing.expect*` in tests
d457919ff Make CacheHash cleanup consistent (always call `release`
05edfe983 Add `addFilePost` and `addFilePostFetch` functions
af730c64b Put base64 alphabet into a named constant
d770dae1b Add documentation to CacheHash API
67d6432d1 Check for problematic timestamps
73d274708 Open file with exclusive lock
204aa7dc1 Remove unnecessary contents field from File
c88ece367 Remove error union from CacheHash.final
dfb53beb5 Check if inode matches inode from manifest
7917f25b0 Update cache_hash to zig master
16c549909 Remove up files created in test at end of test
fffd59e6c Remove file handle from CacheHash
21d743069 Replace ArrayList in write_manifest with an array
061c1fd9a Use `readAllAlloc`
4f709d224 Make hash digest same size as in the c API
8e4b80522 Return base64 digest instead of using an out variable
e75a6e514 Rename `cache_file` -> `addFile`
50cbf1f3a Add slice and array support to `add` method
fde188aad Make type specific add functions
4173dbdce Rename `cache` functions to `add`
27bf1f781 Store fs.Dir instead of path to dir
55a3925ab Rename CacheHashFile -> File
c8062321b Use fs.File
86fe88bbc Use std.fs.base64_encoder in std.cache_hash
8c8813a5c Add filesystem base64 decoder
ce5b2286f Support caching bools; make caching values infallible
de341b8fb Fix memory leak in cache_hash
8a77c1c63 Add `cache` method; add support for caching integers
3158dc424 Partially implement cache hash API in zig
0ecdbdb3c Support comptime floats in std.fmt
0fd77c2de Merge pull request #5431 from alexnask/build_step_ids
65d827183 Added custom build step id, made tests.zig steps use it
d268e0cf2 Added and id and a cast function to build steps
3052fd84c fix regression in std.os.windows.fromSysTime
c693c3ae5 Merge branch 'leroycep-feature-nano-timestamp'
53d011fa1 breaking) std.time fixups and API changes
c6e7d0fcf Use better names for darwin timestart
b85a19139 Fix compile errors for MacOS
2dfe79821 Use `once` to init _timestart in thread safe way
7586ce002 Implement a faster way to get nanoseconds on darwin
bb4689411 Add `std.time.nanoTimestamp` function
4b1a84647 target: Implement running OS version detection for FreeBSD (#5416
07472fb45 [Stage2/Codegen] Properly handle arch in genCall
db0c30446 Supports vectors in mem.zeroes
b13dd3cf6 Treat vectors as indexable
dd05f2be8 run zig fmt on std lib
1c0b7ddda fix regression in AST node iteration
2ff3995a7 Merge pull request #5378 from ziglang/speed-up-stage2-parsing
8a3cd82b8 translate-c: fix a use-after-free bug
882921b5d Merge pull request #5415 from jethron/freebsd-bits
2952604d5 update docgen to new ast API
c432811d9 fix regression in compile errors
f771545a7 revert std.zig.ast iterator changes back to master branch API
f83fd47b1 os/bits/freebsd audit
b504169fe FreeBSD: missing networking constants
c78a2e2e8 translate-c: emit local typedefs
395786fd5 translate-c: fix regression in param name mangling
88f5e3a60 translate-c: fix regression in switch statement
f67b8c68a translate-c: fix regression on array initialization
32c27daae translate-c: fix decl statement regression
46f50ee76 translate-c: fix regression in do-while loop
8f6d7b320 std: update singly linked list tests to new API
1a90a5e63 but I have 1 `@panic` in there, translate-c is building again
e072692e1 update translate-c to new AST API
63aa9ffed [Stage2/Codegen] Typo fix
a52d1476b [Stage2/Codegen] Document x64 register enum layout
64955deb7 Add poll definitions for Darwin
8df0841d6 stage2 parser: token ids in their own array
295bca9b5 stage2 parser: don't append doc comments to the list
1dac9e71b std.testing: fix a crash when printing diffs
8252c8b9d stage2 parser: different multiline string literal parsing strategy
19de25993 stage2 parser: arrays and structs directly in memory after the node
9377af934 stage2 parser: SwitchCase uses intrusive array instead of linkedlist
d37b81d43 stage2 parser performance/API improvements
32ecb416f fix compile errors when setting NodeIndex/TokenIndex to u32
e694cd265 more progress on updating translate-c
d57d9448a stage2 parsing: rework block statements AST memory layout
3c5d581ce update translate-c to the new fn params AST node API
140dc2f43 stage1: fix false positive redeclared variable compile error
688aa114e Revert "stage2 parser: elide memcpy of large initialization lists"
84df1d4f3 stage2 parser: elide memcpy of large initialization lists
44aeb3832 fixes crypto benchmark, make rand function public
897f23f20 stage2 parser: split off some SuffixOp AST nodes into separate tags
7c2c0e36f stage2 parser: different memory layout of ParamDecl
5db9f306b update translate-c for new Root and ContainerDecl AST
ad4b591db small bump to ArenaAllocator minimum alloc size
64c149ca1 fields and decls: ArrayList appending, memcpy to ast arena
b1bcdc96c arena allocator: smaller minimum allocation size
8c10178a1 golly jeepers it's taking a long time to update translate-c
4617c5907 fix zig fmt test regressions
82225f656 zig fmt parser tests are compiling again
70239802c [Stage2/Codegen] Fix a typo
93384f742 use singly linked lists for std.zig.parse
ed137d25e Merge branch 'stage2-fn-calls'
8d3cca7fc stage2: function calls using the global offset table
8d812dba3 stage2: set up a trampoline table for functions
1cde0edff json: properly stringify error sets
fe28d7327 Merge pull request #5303 from kubkon/dir-fns
a80ad0782 CMake: Make fallthrough support version check specific to GCC
cd8daa533 Undo accidentally checked-in changes to fs/test.zig
57719006b Always return false for ANSI escape codes compat in WASI
3d267bab7 Re-enable refAllDecls gen and check in std.zig
75a4c0288 Updated test
400a91e1c Add TypeOf resolution of dereferences and struct fields of undefined values
34f84c360 Narrow down behaviour test cases; this removes wasmtime-enabled check in tests
2a59ecd7e Integrate getTestDir with tmpDir logic
f26ab568a Remove obsolete runtime panics from sleep impl
5186711a9 Change to Self from *const Self/*Self where possible
fae4af9e1 Make mode_t a 0-byte type in WASI
40812063c Disable tests requiring Wasmtime be default; require -Denable-wasmtime flag otherwise
bd9a61658 Skip WASI tests in drone and on FreeBSD
14510f412 Download and unpack wasmtime on Linux
be796e40a Run WASI tests on Linux only
d43c08a3e Add/fix missing WASI functionality to pass libstd tests
feade9ef0 std.json: support stringify for anyerror
2a5c0ef7f Merge pull request #5164 from daurnimator/in_stream-helpers
16f100b82 Merge pull request #5307 from ziglang/self-hosted-incremental-compilation
b0968abcc update ZIR compare output test to test incremental updates
9a22c8b6c Merge pull request #5057 from xackus/opaque-param
03ed9e417 Fix compilation with GCC 5
88c8ff6e3 move some files around
e198eec76 Document register functions
773281c1f Remove trailing whitespace
e2196a458 Minor cleanup
497eb3182 Fix the dumb in x86 too
638554544 Fix a dumb (thanks daurminator!
13ea698a4 rework x64 genSetReg
241984987 Merge pull request #5367 from Vexu/fix
28d449b38 fix zig fmt regression
e5ffb9491 linux: remove duplicated fields
54820a300 fix source not being loaded when printing errors
017ecc514 self hosted repl: close executables between updates
f2ceb023f Merge pull request #5217 from wozeparrot/master
eda03354d Merge pull request #5358 from Vexu/parser
b0375978b self-hosted: remove `zig libc` command for now
cf34480f2 Merge pull request #5231 from kubkon/wasi-preopens
7dc29fdee Creates `std.ascii.control_code` that contains the C0 control codes as named constants.
6647c3f05 Fixes fmt padding for some types
e05923f34 macos: use realpath$DARWIN_EXTSN
79462bb59 Merge pull request #5354 from DrDeano/master
081ffe24c fix infinite loop with invalid comptime
cd5f69794 cross compile the stage2 tests for the target that they work for
74f7d710b Merge pull request #5032 from LakeByTheWoods/redo_translate_c
72b72faa0 Add Enum Option
b2cb8beed Add enum to addBuildOptions
d061e5854 Merge pull request #5020 from jinroh/docs/search-perf
758de71d9 Merge pull request #5353 from Vexu/parser
3e375ee2b translate-c use tagName for token id
092f726ee Merge pull request #5175 from daurnimator/multi-out-stream
e2a0f5741 Merge pull request #5189 from zigazeljko/patch-1
6c10075dd Merge pull request #5350 from yvt/test-global-linkage
5ac684ec5 fix building translate-c
a05011d40 move ParamType to Node.ParamDecl
ed62081d3 recover from missing semicolon after if stmt
6ca0def49 recover from invalid global error set access
69a5f0d79 Merge remote-tracking branch 'origin/master' into self-hosted-incremental-compilation
a286b5de3 build.zig: -Dlib-files-only skips installing self-hosted
294bfb332 stage2 zir tests passing
f2feb4e47 move Module to its own file
64f4ef755 update ZIR test cases
5135238f8 ZIR: emit proper string literals
8980f150e fix memory leaks of one of the ZIR test cases
b2f16d448 fix infinite loop with mismatced bracket
e1d4b59c5 self-hosted: update main.zig
b747d4d1c Enable the test `standalone/global_linkage`
a00fd6e25 properly handle extra closing braces at top level
f8b99331a Merge pull request #5336 from Vexu/parser
440189a04 cleanup* remove unecessary error* properly handle ReturnTypeInvalid in ast.zig functions* assert that the tree is clean in render.zig* simplify parser recovery with top level decls
ebb81ebe5 fix the global offset table code and updating decl exports
81a01bd48 fix codegen of sentinel-terminated arrays and .got alignment
0986dcf1c self-hosted: fix codegen and resolve some analysis bugs
c77fee034 fix infinite loop
c4552ee8e store rparen in ReturnType.Invalid
a32e24054 improve recovery from invalid container members
89f2923a8 recover from missing semicolon
ac319b273 remove useless nosuspend parsing
fb947c365 work around stage1 compiler bug
6a2425c38 self-hosted: fix the rest of the compile errors
080022f6c except for codegen.zig, self-hosted: fix compile errors
c3b76d091 recover from invalid builtin/async call
1f81887a7 recover after invalid inline/extern
ad71d959d correctly recover from invalid top level declarations
2296906e2 modernize std.zig.tokenizer
23c5ff94e improve recovery on top level declarations
4b898893e Merge pull request #5254 from ifreund/top-level-struct-file-names
118db892b Merge pull request #5321 from gpanders/ascii-case-sensitive
76681e6b9 Make PriorityQueue.Iterator public
be2b8d58e Merge pull request #5337 from DrDeano/master
2589f7207 Make StackIterator next public
3715226b9 Merge pull request #5332 from jwmerrill/patch-1
afab095b6 translate-c remove error set from `checkForBuiltinTypedef`
cefc04348 continue parsing on invalid and token
be392777b continue parsing after missing commas and invalid statements
91358f309 continue parsing on extra qualifier errors
a3da58424 self-hosted: ir: implement separated analysis of Decl and Fn
706311cad Fix comment typo RFC8529 -> RFC8259
e3a0fac1a self-hosted: link: global offset table support for decls
fda0eef9f clear progress indicator before printing errors
df22c7dfe std.zig attempt to continue parsing on error
fa57463bb make parser testError take a list of expected errors
80d0c2f16 Merge pull request #5118 from xackus/fix-json-writestream
c6420820b Remove redundant ASCII functions
08e2e690d Merge pull request #5275 from strangebug/docs-markdown-links
29b3be4f2 Merge pull request #5319 from Vexu/float-fix
b1ebaba40 std.json properly handle comptime int/float
619159cf4 self-hosted: rework the memory layout of ir.Module and related types
9f496c077 Add helper functions and docstrings to ascii.zig
7456389ef Merge pull request #5308 from xiongxin/master
7aee8a93e Merge pull request #5315 from xackus/fix-bigint_fits_in_bits
0847b47bf fix `@intToFloat` on comptime_floats
3e3c651b6 Merge pull request #5316 from marler8997/pubSockLen
832f6c122 make Address.getOsSockLen pub
204f8daee stage1: detect underflow in bigint_fits_in_bits
0363f3c6f mem.eql need slice type
a32d3a85d rework self-hosted compiler for incremental builds
e79d7e0de Remove fs.File artifact from connectUnixSocket
d4d509090 make std.build.getInstallPath public
453df1cc1 Merge pull request #4892 from Sobeston/patch-4
336ddb5b7 std: add test for mem.zeroes on sentinel terminated arrays
f2d326607 Merge pull request #4932 from Qix-/fix-private-access
f1e5a4f16 Merge pull request #5296 from daurnimator/osx-RTLD
45f7c78bf std: fix RTLD_ constants on OSX
10abffcd9 fix more private member access
b6dc7fc9f publicize member functions affected by #4909
4a5c58dd3 fix private member checking for non-canonical invocations (fixes #4909
fbf081a30 add failing test for #4909
2c9effc10 stage1: handle all cases of invalid struct field default value
3aa259d11 Merge branch 'kristoff-it-macos-kqueue'
35a59b5b0 remove readable check when opening a socket connection
7e8b85909 fix oneshot flag erroneusly set as filter_flag
a78ac9613 fix crash in single-threaded builds
79bf4003d stage1: add ZigList gdb pretty printing
ba43492c0 Merge pull request #5268 from tadeokondrak/remove-callconv-redundant-syntax
20c169686 Removed GetModuleHandleA from user32
25810bc1e Removed duplicate WM_ACTIVATE
54b2a6ec4 Merge pull request #5287 from marler8997/fixAllocWithPayload
0a76e1161 add failAllocator to enable some regression tests
0c7397b49 fix copy/paste error in AllocWithOptionaPayload
b336dda07 Standard library: Fix a regression in loop.waitUntilFdWritableOrReadable
9c422c28f Merge pull request #5281 from data-man/hash_vector_nocopy
3c4abacba Optimization of vectors hashing
0e30edd8d std: handle ConnectionTimedOut in switch
06e6d39c6 Merge pull request #5257 from matt1795/scoped-typedef
c0b269bf4 translate-c: small patch to fix bultin type detection
52f0adb30 checkForBuiltinTypedef now returns a string
eb4fa63d3 Remove reference to import type (#5279
ae080b5c2 readme: remove the part about stage2 until it's done
ad43155f2 Merge branch 'haze-hb/test-evented-io-build-zig'
6f3d76f61 simplify test-evented-io build setting
a39cb034e Add setUseTestEventedIO for test steps in build.zig
b13a02ed1 avoid unnecessary fcntl syscalls when setting socket flags
0a2104689 fix incorrect flags being set in os.setSockFlags
84a0a9688 update docs/tests for async/extern fn removal
54088fe6e Add support for external links and URL to markdown parser.
6745a6f6f zig fmt
d0e996405 add zig fmt fix for async/extern fn
7ada59f87 remove nakedcc/stdcallcc/async fn/extern fn fnproto
81d824bf8 Clear PreopenList on every populate call
e6955688a Merge pull request #5272 from tadeokondrak/noasync-to-nosuspend
07a968b34 Add docs
fde6d28c2 Merge pull request #5273 from haze/hb/fix-posix-errorunion-thread-spawn-result
558bb2460 Move preopen and path wasi helpers to std.fs.wasi module
d4c33129c Shuffle things around; add PreopenList.findByPath method
dd238352a Encapsulate getPreopens inside PreopenList
fc77e393f Remove obsolete PATH_MAX const
b8112b3d1 Simplify File constructors
8bce1b698 Refactor resolve_preopen into getPreopens function
05fb3e79f Make std.fs.cwd() return preopen for "." if exists
8e1cd6971 Implement std.fs.Dir.openFileWasi
d7ca22012 Start drafting out openZ
fdfdac493 update comments for nosuspend
2c9204032 update tests for nosuspend
af00afed9 zig fmt
b957dc29a Rename noasync to nosuspend in C++ compiler
8d5636ebe Rename noasync to nosuspend in self-hosted, add rewriter
4cb4097b0 Update ErrorUnion thread spawn result to return null instead of 0
db4833d4d moved duplicated code to common functions
f127dee47 Merge pull request #5267 from Vexu/const-call
75b699b2c os.zig: add ETIMEDOUT error case to read function
85fd484f0 std: fix blake3 assignment to constant
adc444cee fix missing compile error on call assigned to const
887bf8ba9 stage1: remove unneeded switch
0db9e90e8 stage1: fix assert fail on opaque fn ptr param
9b788b765 Pass filtered_sock_type to system.socket. Cover PermissionDenied error
277d08855 std: use async for MultiOutStream
c5198bd76 added scoped typedef to translate-c
c8b4cc2ff Include dbg.h to third-party libs
1b201f460 Merge branch 'ninjacato-tomerge-darwin-fix-accept-sockets'
8a8beefa3 solve the problem with Darwin shims in std.os instead
3a397795b Apply naming conventions of structs to files
a62e9bc8e Implement @Type for ErrorSet
647901b4a Constify TypeInfo
ca6db2d00 Implement @Type() for EnumLiteral and FnFrame
1696e943a Implement @typeInfo for @Frame(
07bee9da4 Fixed Darwin-incompatible socket flags and unavailable system calls
03a712454 Merge pull request #5249 from ziglang/FireFox317-windows-evented-io
b7914d901 add test coverage for top level fields
7998e2b0f Merge remote-tracking branch 'origin/master' into FireFox317-windows-evented-io
8ebcca673 Get evented io code paths to build on macOS (#5233
5656f5090 fs.File: improve handling async I/O on Windows
33705d06b Merge pull request #5250 from mikdusan/qemu
5fb8d7dcd ci linux: bump qemu-5.0.0-z2
9dac8a5be update windows impl of child process to new File API
77376a54b correct usages of std.fs.dir.DeleteFileError (#5058
428065da3 Merge pull request #5243 from niacat/kern-arand
6546c7482 child process: no need to remove O_CLOEXEC before execve
92f3e9c92 remove last use of share_with_child_process
beebcbb67 Merge remote-tracking branch 'origin/master' into FireFox317-windows-evented-io
43f7856ba fix regressions in windows std lib tests
2272a07ca std.event.Loop: promote the fs thread to be available for all OS's
45bce27b8 cleanup and fixes. behavior tests passing with evented I/O
3dbe02e2d Merge pull request #5247 from mikdusan/housekeeping
988031c07 Merge branch 'windows-evented-io' of https://github.com/FireFox317/zig into FireFox317-windows-evented-io
09d6dc1ce stage1: cleanup
3386bb896 Merge pull request #5192 from ziglang/stage2-tests
94b0d0e80 std.progress: handle error from FillConsoleOutputAttribute
5418efa1e Added socket bits for Darwin
ec6ef8621 fix off-by-one error in sizeInBaseUpperBound
74ad31536 In init_rand avoid reading from /dev/urandom on NetBSD/FreeBSD
14a954f35 Add arc4random_buf() in NetBSD libc, use it to implement getrandom(
4044a7762 update std.meta.IntType => std.meta.Int
b70e6da91 back to stage2 tests passing
876682115 rework std.math.big.Int
1d202008d add ZIR transform test case
751903ba8 zir: add breakpoint() instruction and object file ability
f89dbe6c4 link: introduce the concept of output mode and link mode
28729efe2 ZIR: implement return instruction
6b0f7de24 ZIR: add cmp and condbr instructions
fb67a7260 link: recognize that Windows does not have POSIX fs modes
56a024bbf disable stage2 zir tests on not-yet-supported archs
6e6d0eb69 disable stage2 zir tests on not-yet-supported OS's
2bae94280 add ZIR compare output test case to test suite
b23a87953 Fast-forward std.os.bits.wasi to match preview1 snapshot ABI
9d79f3984 switch anyerror to OutOfMemory
7192ca14b Merge pull request #5216 from alexnask/windows_ansi_codes
155029b70 Merge pull request #5223 from iansimonson/translate_c_bool_to_int
a2c3ebb75 Use transCreateNodeInfixOp instead of maybeSuppressResult
e72f45475 Merge pull request #4683 from LakeByTheWoods/parser_test
611bd8e9f Merge pull request #5213 from tadeokondrak/evented-readv-fix
87c969612 move printWithVisibleNewlines to testing.expectEqualStrings
2d06e731e rename diffIndex to indexOfDiff
611a1436f Update WASI snapshot to preview1
e6fa0beb3 Translate-C convert bools to int in complex expressions
a08675723 Merge pull request #5219 from mikdusan/qemu
e97181e36 ci linux: bump qemu 5.0.0-rc4 → 5.0.0
61ba52b9e Add unreachable branch
bfb40972a build.zig recursive dep support
273d2de09 Progress will now use ANSI escape codes on windows for terminals that support it
07c1be80c Fix std.event.Loop.readv
15141d865 Merge pull request #5210 from tadeokondrak/IntType-to-Int
350b2adac std.meta.IntType -> std.meta.Int
eb183ad9f rename std.meta.IntType to std.meta.Int
5929e5ca0 Merge pull request #5196 from tadeokondrak/@vector-to-@type-vector
03dd1fca9 Merge pull request #5195 from tadeokondrak/opaquetype-to-type-opaque
db25c7841 Merge pull request #5201 from tadeokondrak/mangle-field-names-locally
0cf129689 Fix/add translate-c tests for previous commit
83d2d7ab8 Mangle field names with a local counter in records
0673a8d57 Update language reference for std.meta.Vector
f977155fd @Vector -> std.meta.Vector
ee5b358d7 add std.meta.Vector to replace @Vector
249938dde Validate vector types for @Vector
2ef0795bf Update language reference for recent @Type changes
17e41f6cd @OpaqueType -> @Type(.Opaque
01605a774 add missing const to pkg dependencies
ecdf75d04 Merge pull request #5187 from ziglang/squeek502-windows-fmt-relative
130435a17 Split AES struct into AESEncrypt and AESDecrypt
45f4a1124 implement @Type() for more types
1e04e8520 std: support `/` in Windows paths
41e17106c zig fmt: still print the relative path
fdff381a5 fmt: Fix relative paths with . and .. on Windows
0df82889c Fix issue with std.json incorrectly replacing forward slashes with a backslash (#5167
a17eb15e1 Add missing state to C object cache
37fa418a9 Cleaned up code, added a testcase for an extern member function call
908b90848 Added tests.
179423ec2 Extern functions can now be evaluated to undefined values in TypeOfs
c22b54c9d stage2 zir: remove dead code
83b0f9c6f Fix unfortunate typo
6aeceec1f add CLI option -Bsymbolic for binding global references locally
28c31a842 Fix f64 variants of math.cosh and math.sinh to accept negative inputs. (#5172
122b992a9 std: add io.MultiOutStream
d44c9bdbd ir: elemptr and add instructions
6481b02fd std: fix posix Thread.spawn to accept all startFn types
0c037a856 Pass each target feature flag separately
1d6e53756 std: add in_stream.isBytes
b531c0e67 std: add instream.readBytesNoEof function
a7a8c433d stage1: Prevent the creation of illegal ptr types
7634e67ba Merge pull request #5158 from ziglang/zir-to-elf
9ebf25d14 link: change default executable mode to 0o777
c829f2f7b Add mips support to standard library
058937e44 bug fixes to make it work
229e99ca3 codegen: write the updated code size to PT_LOAD section header
2d35f71fa codegen rdx set immediate
757d13d78 codegen supports embedded-in-code constants
0ac502f37 codegen for setting rax and rdi registers
63b54bcf5 codegen for inline assembly
99ec614b7 codegen for const ints and string literals
24a01eed9 basics of writing ELF and machine code generation
ebbd137a0 fix json.WriteStream.emitJson
a9eb4a674 stage1: fix crash on accessing an array of size zero with runtime index
e6428f940 stage1: Fix bitcast of immediate to ptr type (#5131
a3dfe36ca zir-to-elf skeleton
58d5c3740 Merge pull request #5139 from mikdusan/qemu-5.0.0-rc4
79809a0e5 ci: bump static-qemu 5.0.0-rc3 → 5.0.0-rc4
9a06f966c Merge pull request #5125 from mikdusan/kern.osproductversion
e8545db9d Merge pull request #5130 from ziglang/stage2-ir
b5e72c014 stage1: Prevent the creation of illegal pointer types
173a143dd Merge pull request #5133 from LemonBoy/win-progress
0a2519faf stage2: Allow \t in string literals
155e631aa std: Implement progress for Windows
395b53038 stage1: Another hack for the C ABI compatibility
1eda2ada9 std.math.big.Int: don't rely on the allocator when printing
d58233b36 ir: improve ZIR emission enough to emit hello world
b1a86040d ir: emit zir for fntype
993e65455 emit zir skeleton
2e6ccec10 ir: analyze asm instruction
8d3e4147d ir: analyze deref instruction
2c11acf80 ir: analyze fieldptr instruction
c12bc8652 ir: analyze ptrtoint
2cdbb5f47 ir: analyze int casting
3df0a3a52 macos: add fallback version detection
48dc3b6fe Added peer type resolution for [*]T and *[N]T.
412aac8a7 cleanup: IrBasicBlockGen
73677e178 cleanup: IrBasicBlockGen
78e2a203e Remove std.lazyInit
0746028a2 ir: analyze int instruction
69878207e ir: analyze `as` instruction
25679b63e ir: analyze primitive instruction
8671e8d6d ir: analyze fntype instruction
22e7ca561 ir: analysis of fn instruction
9a2ea5ca4 ir: comptime coerceArrayPtrToSlice
fb63ba257 ir: type coercion skeleton
8e0bcaca9 ir: analyze str instruction
4c7507cce ir: semantic analysis skeleton
aca6b7018 stage1: Handle errors when generating block IR
32e524882 Remove old-style @typeOf compatibility
cc1c2bd56 simplify ZIR spec; separate parsing/rendering from analysis
5eaf948e6 stage1: Fix wrong union access
af4ccf34c ir: render keyword parameters
f7786d0ca ir: render function body
e74c5a7c2 ir: nice rendering of string literal constants
91ca0e4b0 implement rendering escaped zig string literals
ded6e0326 ir: rendering skeleton
1f3eeb544 ir: parse type noreturn
104ae419e ir: parse export instruction
f020999ca ir: parse asm instructions
82e294cf0 ir: parse deref instruction
730dd887e ir: parse string literals as parameters
bd37c8d8e ir: parse ptrtoint
49e2f3ca3 ir: more foolproof way to organize instruction parsing
4cb203db9 ir: parsing integer literals
7127c07f6 ir: parse types
59154a1c5 ir: parse fn body
018daa028 rework types and values data layout
f92ccf365 generic ir parsing framework
bd4280dec beginnings of zig ir parser
328eb8ed8 stage1: Fix signed multiplication overflow
051620dca Merge pull request #5097 from Vexu/field
d415ffd7d fix uninitialized ZigValue
b6fe83924 update std lib to decls being disallowed between fields
fff00c3bb disallow declarations between container fields
6c907a350 std: Introduce the Once synchronization primitive
44ff55091 Merge branch 'cshenton-patch-1'
3817420d4 ziggurat uses `@truncate` instead of `& 0xff`
ca38b1887 rand: ref the decls so they get tested
e073c8a2b Update ziggurat.zig to use `random.int(u64)`
6b2274fd9 Merge pull request #5088 from Vexu/varargs-fix
344f4d9bc std.os.readv: Add missing iov_count declaration
4f02cf32b fix typeInfo tests
986aa42d3 in response to the dynamic linking fiasco, update cmake, update readme
1afaf4252 add error for non-exter variadic functions
c026a9f6d fix missing compile errors on builtin cast functions
8e96922f3 stage1: Fix several bugs in constant generation
a4b1242f0 build: Create the output directory if it doesn't exist
487231136 debug: Minor QOL improvements for osx
157f566f2 remove automatic bounds swapping, std: make math.clamp work for common uses
480deacba CC: fix binary dupe with no -o
3fd38429e Enable formatting in std.big.Int.format
0276d9ddc Merge pull request #5046 from Vexu/translate-c
ca3bf6e6a translate-c cleanup and zig fmt
a016fb8c6 translate-c: correct invalid shortcut
1e23a3cd9 Added gdi32.zig and More user32 definitions
022a71ca7 Shift error message now says "fixed-width integer type" instead of just "integer type" (#5028
5974a8879 Update emit_raw.zig
fc48c232e cli: add `c++` subcommand to --help menu
0122f2cff Translate C: Redo Add comment containing c source location for failed decls.
448f8c2eb langref: add link to 0.6.0 version
ce21a784a stage1: More fixes for BE targets
cf750a58d Release 0.6.0
d29ed2a78 std: fix StreamSource to disallow writing to a const buffer
f31e0d983 docs: use String.repeat for dom templates
b702964ae std: fix os.fstatat definition (#5016
b8796be79 disable flaky event loop test
e009c1596 Merge pull request #5014 from nmeum/@panic-path
297452cf6 improve search perf: trim search results
f76d59ef7 improve search perf: batching dom list mutations
a3b2de1d1 fix file protocol structure definitions (#5015
0744d93ed added CI job for mingw
6f5a7b845 Update documentation of @panic
8e9e126d4 std: add some basic windows user32 definitions
20b245738 only use `-nostdinc++` on c++ files
d27ef1aae Zig treats -lstdc++ identically to -lc++
f79faf900 cmake: allow not finding some clang libs
dbc00e242 ArrayList: remove old (before span) API
3c34c313c revert Translate C: Add comment containing c source location for failed decls
4ceaa0595 move fs tests to separate file; disable flaky test
c236cbff3 Merge pull request #5003 from emekoi/fix-mingw
eefe6956f clarify what "not valid" means
de08d283d fix compilation under mingw
1a4f46ae7 add note about `@tagName` for non-exhaustive enums
a6e288d5f Merge pull request #4711 from leroycep/feature-file-locks
121307679 Fix generated docs of user code
72dca05f5 debug: Fix parsing of DWARF info for BE machines
1b1cbd935 Merge pull request #4973 from SuperAuguste/nameless-fields
df14578c9 Merge branch 'master' into nameless-fields
732c0cb58 Merge pull request #4985 from Vexu/assignment-error
487134554 update readme instructions for homebrew
e857190da put the previous commit behind cmake option ZIG_PREFER_CLANG_CPP_DYLIB
aaf99371b look for clang-cpp shared lib when it exists
daff072af Add visible newlines to parser_test output when there's a failure.
543031db3 Merge pull request #4982 from MageJohn/fix/binarySearch
f1360bee1 Update docgen to new ArrayList API
f60e7348d add error message for invalid assignment
f5f77089b sort.binarySearch: Remove unneeded edge case check
beae932e0 Merge pull request #4975 from Vexu/param-reassign
c3afaa1f5 Update langref.html.in
57a2c5a63 ci: bump static-qemu 5.0.0-rc1 → 5.0.0-rc2
b7e72cc42 sort.binarySearch: test for regresson of #4980
447dc2bb9 sort.binarySearch: fix integer underflow (#4980
5951211d3 Reduce file lock test sleep time
c45ba49b8 fix formatted printing warning
d4161e166 Close file1 in nonblocking lock test
772bb1ade Disable open flock flags on darwin
d5087ccbc cmake: expose ZIG_TARGET_MCPU option
29ea425ca Merge branch 'LakeByTheWoods-translate_ptr_int'
d7902707b Translate C: Allow casting literal ints to pointers
7b5fb79b5 Translate C: Put an alignCast in c style pointer casts to allow opaque types to cast properly in C macros
d0d7895d3 Return error from `else`
b1e44adcb move array and struct const checks to more appropriate places
45d6fb9e3 Catch error.WouldBlock as unreachable
b3aef49ee zig provides shlwapi.lib for *-windows-gnu
858aefac7 Add `OpenFileW` `share_access_nonblocking` parameter
b109186dd std/zig/parse_string_literal.zig: add hex+unicode escapes (#4678
317f06dc7 Add lock_nonblocking flag for creating or opening files
117d15ed7 Fix file locking on windows
71c5aab3e Make lock option an enum
66b2477ab fix lazy value in ir_analyze_instruction_elem_ptr
721c76b53 refactor common pattern into a function
bf46117f1 std lib docs: fix null and int values
ff0f97a1b fix missing compile error on assign to slice and array parameters
ed23dad48 fix the new runtime-safety tests
116c76cf8 fix tests
882aa8684 more fixes
4d290758b fix compile errors in some std.Target functions
b7f116a77 langref: small updates
22dbeab29 Merge pull request #4857 from LemonBoy/fix-4777
cc0fca9d8 stage1: Respect the specified name for extern var
adaf7ad67 Merge pull request #4684 from LakeByTheWoods/comment_failed_decls
f21ac0220 msvc fix
87a7ea4c4 Merge pull request #4971 from Vexu/const-ref
1ee59c5c3 move big.rational.gcd to big.int.gcd
9298d38ce remove debug statement
94841d029 Nameless struct field consistency
a20f3e3f0 Merge pull request #4972 from mneumann/dragonfly-fix-compile
2b9cef1e0 Add missing constants for DragonFly
7a829a701 Fix paths to find llvm/clang on DragonFly
95fefcd4c fix broken tests
e62671f64 fix missing const on address of literal
28d71c97d Fix compile error on darwin
20597c859 Only call `os.flock` on systems that lack openat locks
49886d2e4 Remove return value from os.flock(
798207ec8 Merge branch 'master' into feature-file-locks
ab0576667 Merge pull request #4966 from ziglang/bootstrap-windows
fc662ddd5 mingw-w64: add 32-bit version.def
41cb49eb5 stage1 fixes to support building with 32-bit mingw-w64
9ed00b382 provide ___mb_cur_max_func for i386-windows-gnu
64d096024 zig cc: recognize a few more linker options
15ab61b2a cmake: improvements to cross-compiling for Windows
afa24ccd9 fix the build on Windows
0a936c1d7 Add some tests for the runtime safety checks
a59d31bd2 ir: Support tuple multiplication
e4eb817f7 libc_installation.zig: don't special-case based on C ABI
96ed54466 build.zig supports specifying config.h location explicitly
a0b73c9f0 compiler-rt: Separate max size allowed for load/store and CAS
c5ced0d74 Merge pull request #4939 from SuperAuguste/master
701c03d08 zig uses mingw-w64 to provide -lpsapi
28d969661 use mingw-w64 to provide -luuid if requested
6106cf441 fixes
cb98984ae Generate clearer size mismatch error message
05b587fcd Merge branch 'LemonBoy-vec-div'
e84b9b70f annotate disabled tests with github issue links
5597b11a5 add runtime safety tests for SIMD integer division
f6cdc94a5 ir: Fix error checking for vector ops
0f964e191 I'm getting tired of this shit LLVM
91a8e3b47 tests: Chop away some flaky tests
fe77c3824 ir: Remove unused and commented out code
eff7555d5 std: Delete a hack in the feature set code
d2d97e55c ir: Support shift left/right on vectors
2485f3004 ir: Support bitwise not on vectors
54ffcf95a ir: Support div/mod/rem on vector types
e2dc63644 type_has_one_possible_value takes comptime struct fields into account
6ef15fc8d Merge pull request #4901 from phase/feature/translate-c-remassign
607b2661a Merge pull request #4942 from daurnimator/tidy-atomics
4daec63ae .gitattributes: deps/SoftFloat-3e/*.txt lines are crlf terminated
d4d218014 Convert .gitattributes to use unix line endings
c4a5f519f Do not parse native_libc.txt anymore when linking on native target, always run detection of libc.
ae376e075 translate-c: remove unneeded semicolon
e9e43ed0d compiler_rt/atomics: be consistent with `const value`
f94744436 Tidy up compiler_rt/atomics
027e2a167 fix multichar literals in translate_c
cd20e0cc6 rename mem.separate to mem.split
e5d479b06 detect an endless loop when trying to detect native libc installation
52db13738 zig cc looks for native include directories unless -nostdinc
d02838b71 add libutil to zig's glibc support
dc7e8b2fd build.zig: better detection of using outside zig executable
12cdea452 Adds some documentation to std.atomic.Queue.
cf8728aab Merge pull request #4935 from LemonBoy/stage1-eb
d73808f3f remove `zig BUILD_INFO` hack
ad2ebc87f stage1: Byteswap floats when serializing them
084c62f5d stage1: Fix serialization of ZigValue on BE machines
391ee996a translate-c: account for signedness when translating div & mod
e89c42655 Merge pull request #4868 from xackus/new-arraylist-api
1568470c4 Merge pull request #4891 from mikdusan/issue4207
8b6a06eef add compiler-error test: coerce
db4c06ce6 stage1: add compile errors for sentinel slicing
f1425fd9d gitattributes: note that libcxxabi is vendored
a2cad9a3d add issue links to disabled test cases
7beea4717 Merge branch 'LemonBoy-compiler-rt-atomics'
e03cbb117 compiler-rt: don't forget to export these functions
ed69821f5 compiler-rt: Add the __atomic family of builtins
cf52f3f99 zig cc: add -allow-shlib-undefined alias
11b50e3ad change the default ABI of riscv64-linux-musl
203d6554b Update fmt.zig
08a9ab4d8 Update all remaining uses of &outStream().stream
dc54e50db std: Fix one more sentinel buffer overrun
aa5865b9b std: Fix oob slicing operator
855edd294 ir: Rewrite the bound checks in slice operator
ea32a7d2b Fix compile errors about adding error.FileLocksNotSupported
4dd0822a3 Add LOCK_* constants to BSD `os/bits`
733f1c25b Fix compile errors in stage2
ea6525797 Use `flock` instead of `fcntl` to lock files
e7cf3f92a Add FileLocksNotSupported error to OpenError
f757f0ea5 Merge branch 'master' into feature-file-locks
35c462caf Merge branch 'master' into feature-file-locks
0dbf8aaab crypto: fix benchmark compile error (#4919
048da6f63 ci: enable riscv64-linux tests
f8cc6a191 zig cc: fix ambiguity with -MT
e7f555ca5 stage1: fix build for i386-linux
b5526d0b3 Fix multiplication overflow in `hash_const_val`
5314641e1 zig cc: support more linker args
c1778bd41 zig cc: support --version-script linker arg
c4b3c84b3 zig cc: support -F and -framework
e4edc6d11 zig cc: respect -MF -MV -MD options
4aa797b6b Merge branch 'ilmaria-master'
8bf7cffe2 slight modification of the semantics of std.os.getenvW
ba1a8b64c make std.os.getenvW case insensitive
503c42079 Merge pull request #4908 from daurnimator/fifo-refactor
deef063bb use static-qemu linux-x86_64 tarball
7a28c644a new ArrayList API: fix everything else
d3ab0eb28 new ArrayList API: fix ArrayList.shrink
93a20f2e8 new ArrayList API: fix std.ArrayListSentineled
dd570dbc0 fix enough std lib to test, new ArrayList API
34524a179 std: add LinearFifo().inStream
2a031c882 std: LinearFifo matches ArrayList in always having outStream method
f6d384450 add compile-error test: bitcast
4848b28ec -march, -mtune, zig cc: detect -mcpu
eefb0a36c Fix CrossTarget.parse test on platforms where abi != gnu
2b6dfdd3d zig cc: add support for -L linker arguments
783f73c7e .bc extensions, zig cc properly handles -S flag and .ll
6695fa4f3 ir: Fix comparison of ?T values
212e2354b stage1: make C++ switch fallthrough an error
0f1f56bb6 Merge pull request #4896 from FireFox317/fix-arm32-stuff
c211b8f91 fix regressions from previous commit
d33766e6c Make sure that ZigTypeVector and ZigTypeArray have the same memory layout
ae6965a4e Fix undefined behavior when shift amount is 64
d9cf779b4 Fix some nullptr dereferences on arm-linux-musleabhif
b9cb1e0d8 translate-c: add tests for div & rem assignment
a255b0f84 translate-c: translate DivAssign & RemAssign
c2e878825 Merge branch 'daurnimator-less-buffer'
2e806682f 0, breaking) std.Buffer => std.ArrayListSentineled(u8
553f0e054 fixups and revert a few things
7eb938c90 Use length field as passed in stage2 libc_installation instead of relying on zero termination
e53505736 std: use std.ArrayList(u8).OutStream instead of std.Buffer.OutStream
3fb030e78 std: use std.ArrayList(u8) instead of std.Buffer in src-self-hosted/translate_c.zig
37e6a6469 std: use Buffer.outStream in std/child_process.zig
ecbc23540 std: use std.ArrayList(u8) instead of std.Buffer in std/build.zig
bb5383cf0 std: don't return sentinel slices from cross_target functions
0ee2462a3 std: add std.ArrayList(u8).outStream(
e8a1e2a1d Merge pull request #4894 from LemonBoy/netbsd-p2
0628c2e2b Merge pull request #4895 from vrischmann/fix-io-tests
d23f9a164 Remove unneeeded address-of operator
748b2c72a io: fix COutStream test
5047cd3d7 Workaround for #4789
f46121b8f io: fix serialization compilation and tests
eddf491bf io: fix PeekStream compilation
318abaad0 io: test all files under std/io
4209ab90a std: Use the versioned libc symbols if needed
070ace4b2 std: Fix more NetBSD bits
92a423739 mem.zeroes - add sentinel terminated array support
a5af78c37 Fix porting of zlib alder32 with large input
e3d12471a add compile-error test for #2687
9e019ed26 Fix possible unaligned ptr from `getauxval`
c7a379673 ci: export master branch version for update-download-page
9bb76f8ce Use correct compiler flags in MSVC bootstrap builds of Zig
d34a3c66b Merge pull request #4543 from daurnimator/cleanup-json
28b7306a3 Merge pull request #4880 from daurnimator/use-spanZ
d9d8c4242 remove unnecessary `inline`
47a0e3ec5 Merge pull request #4871 from boothby/issue4769
3cf302a71 Tidy up some mem.spanZ use-sites now that null is accepted
6d25e4512 Merge branch 'LemonBoy-more-cache'
0e372ccff clean up the duplicate export logic for __clear_cache
b1eb831ab std: fix mem.span* when an optional pointer is passed
e9c49f423 compiler-rt: More clear_cache implementations
d57b5205c Fix std.fifo.LinearFifo
63409cf42 std: linux syscall numbers are now an extensible enum
839d85e44 fixes to 32-bit handling, to support 32-bit arm
7a3d700fd std: introduce json.WriteStream.stringify
42cabe436 std: use json.StringifyOptions.Whitespace from json.WriteStream
a32d88f12 std: add support to std.json.stringify for null literals
62fbb6b87 std: allow picking between serialising []u8 as string or array
edf487b12 std: add options to std.json.stringfy to control escaping
17f5d04be std: use json.stringify logic in some json.WriteStream code paths
5a053247e std: use stringify from Value.dump; remove other dump helpers
e88543a50 std: add jsonStringify trait to json Value objects
48e7c6cca std: add whitespace control to json.stringify
3a0875d9e std: have json tests take options parameter
45dc2587a Fix Readme to point to llvm for brew commands
1df85d150 Merge branch 'FireFox317-clear-cache'
83ff94b1c compiler-rt: don't export __clear_cache when no impl available
1111d3ad1 /// or //!, fixed bugs hitting EOF immediately after //
44aadaff5 added unit tests to demonstrate #4769 and related bugs
f6f03cd90 compiler-rt: implement clear_cache for arm32-linux
cfedd3aca revert detection of rtti and exceptions
6408766d6 linking: remove check for target_supports_libunwind
9e7ae0624 std lib API deprecations for the upcoming 0.6.0 release
b980568c8 add peer type resolution for mixed-const []T and *[N]T
ef419dd72 mem.zeroes .Array improvements
3be720a72 std: mem span functions can take an optional pointer
c1cc1ebc3 ir: Avoid constant-folding ptr to sentinels
8cad45349 std: fix compile error since WinsockError was changed
607892a30 Create an "LLD_LIBDIRS" var to override lld loc
1ef6f068f compiler-rt: Implement all the shift builtins
9bc8a1e1d std: add some missing errnos on linux
356ef3840 std: update for linux 5.6 release
de9933761 std.zig.render: fix newlines before DocComments
b717df786 Merge pull request #4845 from xackus/fix-parseFloat
f9f7deaed linking against c++ does not trigger system library directories
6809222d3 cleanup parse_float.zig
5aa281250 linking is now aware -lm is provided by mingw-w64
c70471fae enable now-passing test cases
38a1af5d4 zig cc: -O0 also counts as debug mode
d1202b1f6 fix overflow in parseFloat
86795c03f Merge pull request #4844 from layneson/translatec_string_concat
2b0d66736 tcpConnectToHost - fixed compilation error
a55897106 Add macro string concat tests
2a05ca1c9 Conv macro string concat to ++
457f557c3 Merge branch 'master' into feature-file-locks
f9db21f03 Merge pull request #4838 from squeek502/for-linker
2028b4ce9 Fix typo in Serializer declaration
d788b0cd8 std: Minor changes to TLS handling
cc7c67085 Sync clang_options_data.zig with update_clang_options
874b4618c zig cc: Add support for -z
b0b29b8a2 --for-linker, --for-linker=, zig cc: Add support for -Xlinker
12e1c6e21 Merge pull request #4835 from squeek502/export-dynamic
69aa09948 cmake: support cross compiling
107b5196f Merge pull request #4827 from ziglang/zig-cpp
a25874108 initial support of response files
e803490a5 cmake: support finding a cross compiled llvm
33819ecfb windows: don't hard-code forward-slash paths
0d7bd9f3c Merge pull request #4832 from LemonBoy/watwatwat
e7847f8d4 zig cc: Add --export-dynamic linker flag support
1a95f1c2e Fix -rdynamic not sending --export-dynamic to the ELF linker
547ba8eb2 Merge pull request #4813 from mikdusan/cmake3.17
ddda50a38 ci: Delete workaround for #4822
0512be227 compiler-rt: Fix __floatunditf
c7f4e6846 Merge branch 'master' into feature-file-locks
f40710907 zig c++: get it working with musl and mingw-w64
67e51311c fix behavior test with --test-evented-io on windows
db17c0d88 ability to compile c++ hello world with `zig c++`
ed0dbe1a6 add libc++ and libc++abi sources
aec4967f3 Merge pull request #4814 from gereeter/reduced-path-max
463b90b97 ci: fix aarch64 linux
cf4cbea88 Factor out arbitrary constant 12 to AtomicFile.RANDOM_BYTES
ab20b351c update compile error tests
0d4354324 fix behavior tests compile error on i386-linux
ddd98a7f1 prevent ptr cast from forcing alignment resolution unnecessarily
a779a96d3 In AtomicFile, work relative to the destination's parent directory. This is more robust against concurrent filesystem reorganization and avoids path length issues.
f7f563ea5 Revert "Merge pull request #4807 from LemonBoy/tls-touchups"
5ec6a0ea0 fix an invalid free having to do with bound functions
fae6cf096 improved handling of native system directories
dd66fbb96 Merge pull request #4811 from mikdusan/fix4634
e3fec6cce zig cc: add detection for `-###`
9dbfee49d Carry-over stream error to JSON.stringify
ee6fda229 Merge pull request #4807 from LemonBoy/tls-touchups
9cc593ca7 cmake: address new warnings from cmake-3.17
d554070de self-hosted: use fs.selfExePathAlloc
f313ab18a zig cc: freestanding target implies -nostdlib
6cbe589b5 zig cc: support -T linker script option
3869e8033 Merge pull request #4793 from LemonBoy/netbsd-forever
abcd9ac9d Use const instead of var
a34f67aa6 std: Minor changes to TLS handling
778dbc17a std: Fix setsockopt definition
cbaede7f5 Merge pull request #4795 from LemonBoy/divtf3
3ccf99c0b std: Slim duplicate logic for some calls
cc774c603 compiler-rt: Add __divtf3
4e95662a4 std: Add qNaN constants
39589cffe compiler-rt: fix __clear_cache on aarch64 darwin
03013e517 compiler-rt: aarch64 implementation of __clear_cache
93c7fa105 Merge remote-tracking branch 'origin/llvm10'
1a6c3aeec Block until file is unlocked on windows
8bec1304c Fix compile error on windows
113b21759 Merge branch 'master' into feature-file-locks
5acc8afb5 Use math.Order for comparing bigints instead of i8 (#4791
0b93932a2 Add O_SHLOCK and O_EXLOCK to freebsd and netbsd
5b278fb60 Use locking open flags if they are defined
c3f93be00 std: Tell pthread the guard page size is zero
d6739b139 std: Fix undefined field error
b21d3535a std: Fix parameters for pthread_attr_setstack
09a5f172f std: Different thread stack allocation for NetBSD
cda73c3c1 std: Add missing C bits and defines for NetBSD
761602e3e std: Use getdents on all the BSDs
336ed03f0 debug: Accept relative paths in mapWholeFile
27344464e std: Add missing C defines for NetBSD
2f21c8f5b stage1: Link pthread on NetBSD
bab66235b stage1: Remove fflush on file open for reading
dc44fe053 zig cc: detect dynamic linker argument
e643b414e zig cc: recognize .S and .C as source file extensions
0cd953d40 ir: Prevent crash when slicing hardcoded pointer
13d04f996 Merge pull request #4741 from momumi/master
94f7c5600 riscv: add -mrelax arg for C to work around upstream issue
e5e5196d8 Merge remote-tracking branch 'origin/master' into llvm10
2d18178c2 minor fixes and more tests for _ separators
7ffdf59c4 Merge pull request #4774 from ziglang/zig-cc
9d19d9008 debug: Correct version check in debug_line parser
6a8975102 ir: Implement cast from anon struct to union
3bded9cf2 disable failing stack trace test for aarch64
380c276de ci: disable qemu-riscv64 tests due to qemu being too old
f9992850a simplify cmake logic for finding clang
87b8b69eb update stack trace test expected output
10223eaea ci: workaround for apt.llvm.org packaging bug
40f410180 ci: fix ubuntu package name for lld
8d1659bb3 ci: again fix the cache tarball URLs
adf5af1bc ci: update cache tarball URLs
23c263776 Merge remote-tracking branch 'origin/master' into llvm10
8de45e514 update parsing of int literals in self-hosted
a8fa1ecd8 fix build.zig addBuildOption function for stream refactor
29324e6f3 fix formatting in tokenizer tests
2b65dc103 zig cc: detect optimization and debug flags
dc79f181a ir: Disallow comparison between enum literal and untagged enum
138dab452 add number `_` separators for stage 2 tokenizer
4b0ddb817 zig cc: better support for the preprocessor option (-E
28ad78cb7 rename "passthrough" → "driver_punt"
4d9b458f8 zig cc: support .cc and .cxx extensions
0eee98edc zig cc improvements
a4eaeee72 ability to use `zig cc` as a drop-in C compiler
beea478ac Merge pull request #4764 from LemonBoy/fix-1265
28dbc5883 Address review comments
128e70ff3 ir: Allow errdefer with payload
153c6cf92 ci: disable test-gen-h on sr.ht and drone
3a2c49088 "generate .h files" feature is no longer supported in stage1
8429ddecf Merge branch 'glibc-add-ld'
7438d0fc3 glibc: include ld symbols and proper soname for ld
ef69e4efa Merge branch 'mt-panic' of https://github.com/LemonBoy/zig into glibc-add-ld
245dc9d93 include ld symbols when generating glibc dummy objects
541e76301 ir: Peer type resolution between ?[]T and *[N]T
53b5aa812 Merge remote-tracking branch 'origin/master' into llvm10
28a6c136e revert std.mem.span to prefer len over sentinel; add spanZ
dc04e9709 Merge pull request #4752 from ziglang/slice-array
160367e0d fix compile error for reading past end of pointer casted array
6b6f2fcf9 std.net: remove the hack from earlier in the branch
f614d94fa update std lib to take advantage of slicing with comptime indexes
555a2c032 breaking) std.fs.copyFile now integrates with Dir
1d7861a36 fix incorrect sentinel check
8ddf9d84f add behavior tests for slicing with comptime indexes
f824658e1 slicing sentinel-terminated slice without end
61266d262 test & docs fixups to work with new semantics
7fa88cc0a std lib fixups for new semantics
b5dba702f fixes to std.meta
2164b511c partial revert of an improvement this branch made
8688c4374 avoid evaluating lazy start..end, when result loc is a slice
e947f0c74 0-bit array type does not resolve child type
72a261b4d fix runtime slice of pointer not setting length
4435b05b6 fix regression when slicing 0-bit pointers
2b4134459 fix alignment when slicing with comptime start and end index
8ea0a00f4 improve std lib code for the new semantics
8d0ac6dc4 `@ptrCast` supports casting a slice to pointer
c896c5001 fix slice of string literal having the wrong type
0707be8de fixes in semantic analysis needed to support this feature
2182d28cb slicing with comptime start and end results in array
e3c92d053 ir: More changes to sentinel-terminated const arrays
7a361751e Merge branch 'LemonBoy-travbug'
46ffc798b fix swapped logic for Windows
27affde59 breaking) clarify openDir API
c45fe2759 build: Fix silly bug in directory traversal
e15605e1c std: Safety check for iterate(
4843c3b4c std: Introduce fnctl wrapper
b1537b525 Merge branch 'LemonBoy-fix-4749'
11a4ce42c zig fmt: Respect trailing commas in error set declarations
63a4dbc30 array sentinel does not count towards type_has_one_possible_value
1479c28b4 ir: Correct ABI size calculation for arrays
013ada1b5 std: More type checks for Thread startFn return type
dbde5df56 clean up some self-hosted bitrot + don't assume libstdc++
613956cc4 Remove `fcntlFlock` and replace with plain `fcntl`
32c582503 Match netbsd's flock fields with others
b773a8b17 Make `fcntlFlock` follow conventions of `os.zig`
7251eb168 fix a couple sockfds to be fd_t rather than i32
4532f5eca Change fcntl params to ?*c_void
6a15d668e Change the default stdin behavior of RunStep to .Inherit
582991a5a build: Expose function-sections switch
a2432b675 Merge pull request #4735 from ziglang/renameat
a27a8561e adjust renameatW to always supply dest root dir
7e45a3ef6 fix typo in new mem.len test
e36978906 fix std.os.renameatW
6c2b23593 fix std.mem.span handling of sentinel-terminated arrays
701aaf0dd renameatW: handle more windows nt status codes
0a69a10f2 Merge pull request #4740 from Vexu/cleanup
880d8fc38 fix Serializer to work with new OutStream API
47f7e6658 add more test cases for invalid number literals
925f71085 make parsing `0.0_e1` an error
7aac21c6f allow `_` separators in number literals (stage 1
819537d70 Skip file lock test in single threaded mode
947abb762 Fix compile error on windows
57f9f0755 use anon literals in ast.zig and parse.zig
5e5dee829 remove .Cancel correct merge err set parsing
49128c86f Extract `run_lock_file_test`
a77386eb9 for build-obj with only 1 C file, name .o file after root_out_name
7ab77685a Make lock tests more flexible
873c7a59e Add multiple read lock test
72eb9933f Call `std.os.waitpid` instead of `std.os.linux.waitpid`
43ccc2d81 Add note about mandatory locks on linux
43c4faba5 Add test to check that locking works
a636b59cb Add `lock` option to CreateFlags
4eff48b12 Add flock command paramter to `os.fcntlFlock`
f66a60760 Define Flock for all posix systems
e1868029e Implement blocking file locking API for windows
9af0590a2 Add fnctlFlock system call, use it to lock files
311006035 Add `lock` to fs.File.OpenFlags
4a8e766ef fix mismatch between expected and actual output name
faa3c40b5 fix docgen, which relied on stdout being path to binary
66d7370fa special case when doing build-obj with just one source file
66e76a020 zig build system: correctly handle multiple output artifacts
75bda408c update stack traces test expectations
eb4d313db Fix compilation with `--no-emit-bin`
656ba530d Merge remote-tracking branch 'origin/master' into llvm10
2501e8050 Even better idle waiting method
e496ef26d Nicer idle wait loop
edcf8e063 std: Multithreaded-aware panic handler
3eff77bfb Merge branch 'fengb-format-stream'
490510290 fix all the TODOs from the pull request
2dd920ee3 Merge branch 'format-stream' of https://github.com/fengb/zig into fengb-format-stream
a9297f226 Merge pull request #4716 from LemonBoy/sys-misc
de53537f1 Add NtDll-based ftruncate implementation
5dd3c8eed Merge pull request #4727 from nrdmn/uefi3
2f06971a7 Merge pull request #4725 from ziglang/update-musl
f51bec321 Merge pull request #4707 from Vexu/small-atomics
f44530302 std/os/uefi: file protocol improvements
92beb1391 std/os/uefi: status reform
6c368b9e7 std/os/uefi: device path protocol improvements
9f475dae1 std/os/uefi: Add shell parameters protocol
52eb4129d std/os/uefi: loaded image protocol improvements
e617e8a79 std/os/uefi: require guid output function be comptime
7c12f9373 std/os/uefi: boot services and runtime services improvements
6e25ac2a2 stage1: update musl libc building code for v1.2.0
edd6643a2 update musl src files to v1.2.0
71d776c3b add note to disabled tests, improve comptime cmpxchg
205c41396 update musl headers to v1.2.0
6dde76927 Simplify stores, use sext for signed ints
bd0b51477 Address review comments
aa49f972d Merge pull request #4720 from Vexu/translate-c
8a22c50c0 Remove unused static_crt_dir field from libc config
4aae55b4c Replace fmt with new fmtstream
ed7f30e1c Migrate last vestiges of fmt
786216ca5 Slap in workaround for Fifo
6a53fe7c9 Handle potential downcast when translating stream size
0059d9ee3 Convert fmt.bufPrint / fmt.allocPrint
4023ed56d Convert translate-c to fmtstream
8dd078b99 Convert Buffer to use fmtstream
2429fdd73 Convert JSON to fmtstream
0fbccec00 Convert builtin to fmtstream
214af6981 ci: remove workaround for FreeBSD upstream bug
ce19638cd disable test on mipsel
c11d1055b Integrated outstreams with new formatter
7364e965f Force error coercion of custom formatters
d2e4aafd6 Fixup allocPrint
02c491e42 translate-c fix order of tokens
710b05b15 support `@atomicRmw` at comptime
1c18ab01a Add back max_depth test
f51c8f26c Apply explicit error type
78d12762a Re-enable a bunch of tests
8241b96f7 Re-enable testFmt
e1e9ff954 Get formatIntBuf working
278b9ec1a Blind translation
ae3fb6df0 Copy fmtstream
dda711ba0 translate-c treat c bools as ints
11df0d0cf std: Add setEndPos to fs.file
89d7fc773 std: Fix pwrite invocation on 32bit architectures
f58705b4a fix `zig targets` not reporting native info
3f1c8e3d5 fix bug
75e9a722d Merge pull request #4714 from mikdusan/target
3ded862cd Merge pull request #4713 from Heppokoyuki/uefi-file-protocols
bfebc11d0 fix zig-cache to treat cpu-features as raw-bytes
c98816737 update/apply CPU features when -mcpu native
e0fe0f7f1 parse CPU features when --target is null
895f67cc6 Merge pull request #4710 from ziglang/io-stream-iface
571f3ed16 fix stray warn() in runtime safety test
06d2f53ec windows: detect HANDLE_EOF in ReadFile
3657a5461 fix regressions in elf parsing code
6892865ba FixedBufferStream: match file semantics more by clamping pos
04626c176 Merge remote-tracking branch 'origin/master' into io-stream-iface
431d76c02 add std.io.StreamSource and fixes to emitRaw
c71991c86 fix compilation errors for emitRaw
51c6bb92b Merge pull request #4709 from LemonBoy/implement-2096
d96b6c0d9 fix footguns in File readAll functions
58941927c refactor
02ba1d8fe add file protocols
9262f065f Move abi size checking to codegen
ec906a977 fix codegen, update docs
1f66435a6 support cmpxchg at comptime
64e60d8ae special case atomic operations on zero bit types
21809c330 support non power of two integers in atomic ops
ed13cffca rework some old ELF parsing code and start to fix emitRaw
bd14a81e3 fix std.ChildProcess on Windows
d882a3058 fix stage2 lib on windows
2bff0dda7 fix regressions found by test suite
9abee660d fix stack trace code not opening files in forced blocking mode
cd26d3b0b fix regressions caused earlier in this branch
2f1052a31 std: Fix broken tests
18f1fef14 update standard library to new I/O streams API
83f6f730c std: simplify format enum-literals
4ab13a359 ir: Fix shift code for u0 operands
ee5b00a8b use atomic bools in std lib
8dc188ebe support atomic operations with bools
b6fbd524f breaking) improve and simplify fixed buffer streams API
300fceac6 ir: Implement more safety checks for shl/shr
ba0e3be5c breaking) rework stream abstractions
1ad831a0e fix zig fmt on noasync block
90c232bbe add allocSentinel function
9c4dc7b1b Merge pull request #4703 from Vexu/translate-c
3e93dce0a std: Fix detection of Linux kernel version
cb4c488cb translate-c support struct field alignment
4cace8f7c properly mangle shadowed primitive types
baec74645 translate-c add daurnimator's pointer check to macro cast
675f01f17 Merge pull request #4590 from xackus/fix-4587
1f44b2972 ir: Fix codegen of ?*T types where T is zero-sized
638d5c3ac Merge pull request #4700 from Vexu/noasync
a745e5307 rough draft of an interface language feature
e7cc45642 better error messages and more tests
52c01840c Merge branch 'LemonBoy-fix-4527'
7db6da7cb lazy_cmp_zero only resolves type is zero bits for alignof
14bbb8283 ir: Fix lazy comparison between @alignOf and zero
648f94c02 std: add some definitions for netlink sockets
6ab156ce7 Merge pull request #4695 from leroycep/feature-inode-stat
9b1b44b41 Windows: Fix std.fs.realpath/os.realpathW for directories
3fd2cd436 add LemonBoy's test
03c1431f9 disallow resume and suspend in noasync scopes
3618256c9 implement noasync scopes
6f8d73259 update parsers to new noasync syntax
0db108101 Translate C: Add comment containing c source location for failed decls
25d9ab95d Use os.ino_t for everything
cb84875ee Define ino_t for systems not yet defining it
e2fd289a3 ir: Create usize result_loc for array subscript expr
06d0dac0f ir: Prevent crash in compiler error
e1c1ca990 Add documentation about Stat.inode
55077435b Expose file inode (linux) and file index (windows
7782c76be fix failed assert on generic fn opaque return type
f90fe1f8f Merge pull request #4687 from daurnimator/fix-typo
a5cb19c0a Merge pull request #4690 from Vexu/translate-c
2b1316954 std: One more cpuid fix
692a974c3 translate-c reject structs with VLAs
5aa993cd6 translate-c fix nested loops without blocks.
c8050a931 Strip trailing whitespace from src/ir.cpp
b85bb152b Fix grammar in error message
9e60c8960 Revert "Translate C: Group generated casts"
8b80cb307 Revert "translate-c remove redundant grouping, fix nested loops without blocks."
cf38ce970 Implement UTF-8 to UTF-16LE literal conversion
6ac76bc25 add missing errors to std.os.windows.CreateDirectoryError
0720f338d add std.event.Loop pread and faccessat
c5885f012 std: Fix version detection on x86
c25d9417d fix std.fs.makeDirAbsolute
96c07674f Merge remote-tracking branch 'origin/master' into llvm10
bc75c0de6 stage1: fix compile error on macOS Xcode 11.4
abe7305e1 fix nested loops without blocks., translate-c remove redundant grouping
895672b3f Translate C: Group generated casts
80ff549e2 fix detectNativeCpuAndFeatures including foreign asm
54799ccaf Merge branch 'alichay-master'
e0d5f94a7 simplify the inline assembly
49817c6ad cleanup CPU model & feature detection
f19918256 Cleaned up CPU detection and fixed incorrect detection bits.
e24f29bba Added self-hosted x86 CPU detection.
7f975bf09 Merge branch 'daurnimator-less-buffer'
231a4b8fd fixups & make some API decisions
4114b63d7 std: use std.ArrayList instead of std.Buffer in std/fmt.zig tests
1cbf352cf Remove unused std.Buffer imports
5c0d6ef5e std: use ArrayList instead of Buffer from std/process.zig
d136c795a Fix bug where stdout was checked instead of stderr
8f627593e Use in_stream.readAllAlloc where sensible
bcf56c32e std: use ArrayList rather than Buffer for in_stream helper functions
fd23decbd std: add ArrayList.eql for parity with std.Buffer
119ac13ed std: add .startsWith and .endsWith to std.ArrayList
fa46bcb36 stage1: make get_optional_type more robust
83d27f71e translate-c more macro ops
7df916908 Merge pull request #4651 from LemonBoy/fix-4645
3163a1661 ?HMODULE instead of HMODULE
0e5b48d1a fix `@embedFile` docs
3dc8cb12e ir: remove pointless and misleading code in `@embedFile`
2e04b6127 std: Work around unexported NtCurrentTeb
b9a1d6763 std: Nicer way to access the PEB
eaccfffe5 translate-c: default initialize non-extern variables to undefined
6b069f5c8 Revert "put FreeBSD CI in timeout for misbehavior"
d31b65e76 std: fix sendfile on macOS and FreeBSD
428677ea3 stage1: fix regression
c08444b33 srht: workaround FreeBSD fiasco
01c722c21 Revert "Allow constant struct val to reallocate its fields when resolving an inferred struct field with a comptime value."
f5954dad8 Fix crash when freeing empty string as null-terminated sentinel
1091fee24 std: format enum-literals
debcc79d5 Allow constant struct val to reallocate its fields when resolving an inferred struct field with a comptime value.
c92957da0 Merge branch 'update-mingw-w64'
20ac25385 reapply mingw-w64 header patches
c0242f231 update mingw-w64 source files to v7.0.0
8e5913cfe update mingw-w64 headers to v7.0.0
1aae5bebe Merge pull request #4641 from mikdusan/housekeeping
371c21aa7 stage1: housekeeping
ad27041de translate-c demote struct to opaque if unable to translate type
b7614e63f Merge pull request #4636 from Vexu/translate-c
d7dc7d7a5 Merge pull request #4633 from daurnimator/4632-i1
e06385456 translate-c correct assumption about macros
8088bdc6d translate-c macro comma operator
e9c3b65bf std: use testing.expectEqual in math.absCast tests
488ba1560 std: fix math.absCast on i1
4f58bfe1a std: fix formatting of i1 integers
d5359ea54 std: use testing.expectEqualSlices from tests
378bf1c3b Merge branch 'LemonBoy-fix-439'
116e2a93f update docs for `@TypeOf`
3e3d46488 `@TypeOf` avoids heap allocation for only 1 parameter
2e3e8d0c7 ir: Adapt ir_print for the new @TypeOf format
e02903225 std: Use @TypeOf(x,y) as return value for max
0c310f0fb ir: Implement @TypeOf with multiple arguments
24fc69aca Merge pull request #4573 from alexnask/tuple_concat
f247a9054 get_codegen_ptr_type returns possible error
317880765 Merge remote-tracking branch 'origin/master' into llvm10
6cbd1ac51 zig is now aware of DragonflyBSD versions
3ff238104 update glibc source files to 2.31
e3b37fc9c Generated documentation mobile support
e095475d9 Fix docs generation
1cf3209cb Merge pull request #4623 from ziglang/update-glibc
447a89cd4 update self-hosted `zig targets` to print correct glibc availability
b21d44f26 update glibc abilists for 2.31
cd33c5bfe zig build: update InstallRawStep to new std.fs API
74fef9db6 update update_glibc tool to latest zig
67480cd51 update glibc headers to 2.31
3841acf7e update process_headers tool to latest zig
8aaab75af docs: remove reference to deprecated builtins
c0c9303bd put FreeBSD CI in timeout for misbehavior
3b235cfa8 std.zig.CrossTarget: fix compile errors
f6f0b019b Merge pull request #4618 from ziglang/daurnimator-paths
1141bfb21 Darwin can return EBADF for sendfile on non-files
c4f81586f update docgen to new std.fs API
55dfedff4 update cli test to new std.fs API
4a67dd04c breaking changes to std.fs, std.os
1ca5f0676 Update callers of fs.makePath
695b0976c std: move makePath to be a Dir method
a19a30bb1 std: move null byte check into toPosixPath
d8f966a04 std: fix fs.makePath
bfc569bc9 std: add os.fstatat
627618a38 std: add Dir.changeDir as wrapper around fchdir
dfb420e6d std: add fs.Dir.makeDir
88e27f01c std: add mkdirat
582db68a1 remove superfluous comptime keyword
a6fb6dcfc linux: Correct pread64 syscall for ARM/MIPS
226b80183 Merge pull request #4612 from ziglang/os-read-write-sendfile
9d6cc75ce disable sendfile test on mips
66e6f5586 enable f128 test on windows
d1cb16aac Merge remote-tracking branch 'origin/master' into llvm10
3418a332a Revert "work around LLVM 10 llvm-config giving absolute path to libz.so"
387418277 Merge pull request #4601 from alexnask/fix_3997
755941830 Added comment justifying wrapping operations
a66c72749 more macos fixes
d7579a2fc Fix std.os.unlinkatW for absolute paths
859fc856d fix macosx and freebsd build failures
c81345c8a breaking: std.os read/write functions + sendfile
bd287dd19 std: implement sendfile on linux
a48cd1cf5 Allow wrapping in VDSO lookup
b838122cc Merge branch 'master' of https://github.com/ziglang/zig into tuple_concat
78e4daaa0 Removed unused variable
00be93456 short std.builtin enum literals in std lib
3c1432701 Merge branch 'daurnimator-fmt-sentinel-pointers'
ef3d761da breaking: std.mem.len no longer takes a type argument
5b26128ba add new functions to std.mem and deprecate others
4505857e3 revert changes outside std.fmt
0b0de22fd std: format contents of sentinel terminated many pointers
b99c6d56d stage1: fix compilation on 32-bit arm
ae99fabfe Merge pull request #4585 from LemonBoy/fix-4581
f082e253b fix native OS version detection on macOS
224681218 use an explicit error set to fix a compilation error
6fcf6716b std.Thread.cpuCount on Windows uses the PEB
d951e0402 Merge pull request #4586 from daurnimator/windows-PEB
48cef8d5b refactor std.zig.system.NativeTargetInfo functions
c903b7601 Merge pull request #4589 from LemonBoy/fix-4583
845af5c55 Handle one more error
3b29a72b3 Use .len instead of @sizeOf
84549b395 target: Implement OS version detection for OSX
278f0f8fa Change how the build-id is checked
3c7f030a6 add CrossTarget.getObjectFormat
d0c22619f Complete windows PEB_LDR_DATA definition
582222043 Address review comments
513076ee9 Fill out PEB definition
f072b0c05 target: Implement OS version detection for Windows
7e6b68a53 std.Target.standardDynamicLinkerPath: delete bad doc comment
761761040 Merge pull request #4550 from ziglang/os-version-ranges
1b41f2d77 C pointer slices are no longer allowzero (#4462
3cba603ea fix crash when building docgen
1aef0bef7 std.Target.Os.WindowsVersion: non-exhaustive enum
e683eee41 fix CrossTarget.isNative, setGnuLibCVersion, zigTriple
4bc893c34 update test to newer API
7e3bb00a0 don't choose native ld path when os is non native
4591236ae CrossTarget.cpu_model: communicate intent precisely
aa13f339d fix handling of CrossTarget.cpu_model
8691d3c50 improve std.zig.system.NativeTargetInfo.detect
a5a53a182 fix typo from other commit
bee4007ec fix crash with multiple comptime fn calls and...
578dc1691 fix compiler crash when comptime parsing targets
500dde32d dynamic_linker becomes a field of std.zig.CrossTarget
07f52119d implement native OS version detection for linux
ef24f2dd9 remove special darwin os version min handling
d45ea4d89 stage1: make get_native_target go through self-hosted
3683ba87a complete the native target detection based on /usr/bin/env
fd006c1c7 std.zig.system.NativeTargetInfo.detect: almost no Allocator
60f2f3457 getStandardDynamicLinkerPath renamed and no allocator
662b5f7c6 update docs to latest Target API
f89a1844b don't error out for targets with unknown standard dynamic linker path
70bf8874d update docgen to new Target API
3c3316d4b update tests to new Target API
2536e4c70 WASI has no dynamic linker
bafa89556 compiler-rt: inline at call site to workaround a bug
36aa3c8e7 fix __stack_chk_guard emitted even when not linking libc
622672657 fix builder.findProgram test
2387f48d5 fix incorrect builtin import code for windows
7927764cc mips: implement Target.getStandardDynamicLinkerPath
34d2700af clean up CrossTarget.getExternalExecutor
622b5b62c fix not setting the dynamic linker path when cross compiling
0912484c4 improve the "external executor" detection logic
cebcacd87 fix standardTargetOptions and improve init-exe to use it
cf233bad5 fix target parsing
c8669a4cf improve debug info for optionals
dbe4d72bc separate std.Target and std.zig.CrossTarget
87b9e744d update std lib to new Target API
d4f375c46 stage1: remove get_self_libc_path
4616af0ca introduce operating system version ranges as part of the target
fba39ff33 pass 1, restructuring std.Target for OS version ranges
68dbba212 Merge pull request #4576 from mikdusan/housekeeping
a6087a7bc stage1: housekeeping
11848fcb5 Removed unused variable
261c94629 Added test
c020bc27a More fixes, removed debug prints
95a1d2feb Fixed tuple concatenation with runtime and comptime values.
c39d7a632 fix exported variable not respecting linkage
2696c8b42 ir: Robust checking for init expr type
6a0927d8c debug: Fix end-of-stream condition in DWARF parser
fd1eade4c ir: Allow empty inferred error sets
0a8835268 fix behavior tests with --test-evented-io
2b33e27e1 arm baseline CPU is v7a rather than v6m
e4180de2e update test expectations
6291e8e49 Merge branch 'Vexu-tagname'
62de32a18 call deinit on the hashmaps introduced in the prev commit
22432b15e add test for `@intToEnum`
215797749 fix `@intToEnum` on extern enums
d505ea6ca fix `@tagName` on extern and non-exhaustive enums
c4a2734aa Merge pull request #4561 from LemonBoy/fix-4536-1
aa2aad229 Merge pull request #4497 from LemonBoy/do-do-do
d2535c003 ir: Fix regression with self-referencing containers
a55e53639 fix typo in previous commit
e75598af3 add test case to catch regression from previous commit
dad62a7e2 Revert "ir: Fix sizeOf comparison with ptr to zst"
e9bac8be6 ir: Fix array to slice conversion for zero-sized arrays
55ea855e2 ir: Various fixes for comptime ptr handling
89812217b ir: Fix sizeOf comparison with ptr to zst
f33bf48af Merge remote-tracking branch 'origin/master' into llvm10
416a547cd Merge pull request #4515 from mikdusan/stage1-gen-constants
b46efcde8 ir: Fix sizeOf comparison with ptr to zst
26b2e5fda Merge branch 'vegecode-formatted-print-to-std.Buffer'
7cfe85435 clean up std.Buffer.print
6fa143355 Add formatted printing directly into std.Buffer
5503f3f7c Merge pull request #4544 from BarabasGitHub/zeroes-for-non-extern-types
61a50a23e Merge pull request #4547 from Vexu/deprecate
544bc42fd expose --verbose-llvm-cpu-features to zig build
d56115ef4 remove `@IntType` and `@ArgType` (mostly) from the compiler
538d9a5dd remove uses of `@ArgType` and `@IntType`
3458fb891 `@memberCount`, `@memberName` and `@memberType` from the compiler, remove `@typeId`
f7aa4f528 Processed review comments. Updated documentation, generate compile error on allowzero and set C poitners to null, used the typinfo for field access
45da72c5b `@memberCount`, `@memberName` and `@memberType`, remove usages of `@typeId`
195195d23 do not support them (for now, vectors do not support iterating
0972b2a8f implement zeroes for non extern structs and native types
1d06c82c3 Merge pull request #4516 from xackus/remove-bytes-to-slice
5275b0120 hashing algorithms: fix logic and index out of bounds
907c5589a std.time.Timer.lap: only read system time once (#4533
08047cd6d correct test expectations
9c35f680f @sliceToBytes in stage1, nuke @bytesToSlice
7664c3bc1 @sliceToBytes from tests, docs, remove @bytesToSlice
cfe1fbad0 Merge pull request #4304 from daurnimator/auto-json
597648231 Format decmial 0.0 with no precision as just 0
d1243bf27 Merge pull request #4525 from ziglang/environ
94c3dbf9e remove no-longer-valid defer
767f04106 std.process: fix typo
cfffb9c5e improve handling of environment variables on Windows
936d0b18b update std lib to integrate with libc for environ
0cd89e917 std.os.execvpeZ_expandArg0: fix not restoring argv[0]
495e89422 delete extra code, more forgiveness
41bca1ce7 unification: windows debug info
c060cae3c unification: osx debug info
dca19b675 fix regression in detecting native glibc version
6305ce828 fix regression in standardTargetOptions
570973761 add regression test for already fixed bug
6aecc268f remove the allocator from std.event.Loop
dff7ca678 annotate TODO comment with bug tracker link
10e0b0713 Merge pull request #4509 from ziglang/sub-architecture-annihilation
783e8ad03 @sliceToBytes from std lib, remove @bytesToSlice
fdae5f5a0 implement bytesAsSlice, sliceAsBytes
71573584c std.Target.parse gives parsing diagnostics
7da7fbb91 update ARM cpu models to correctly include the sub-arch
61c67a983 remove sub-arch from stage1
ab56d3e18 fix std.Target unit tests
8df4d7e4f unsure
a391a82e4 fix zig build adding invalid cli args
7b8b4d200 fix not initializing some ZigTarget fields
770631cc7 stage1: free more heap after analysis
2de7d0b10 ABI ABI, and update tests to new Target layout, fix zig build
903127f36 Merge remote-tracking branch 'origin/master' into sub-architecture-annihilation
0f016b368 both in stage1 and stage2, support -mcpu=baseline
e381a42de quick fix: add -mcpu=baseline support to zig0
b0d2ebe52 remove std.io.readLine
33c69d5cb arm: clarify which CPU features are sub-architectures
a4d0d7f1d soldier on
342a27494 const correctness, tidy interface
ce2efbdca Correctly count all the loaded modules on Windows
d5b583008 sudoku
fabab5852 less hideous
b9c02e407 elvis entered the building
2a350cf17 osx
b3f728585 windows widestring
463f70443 wide
99649794e win
b0b60cd46 tmp
3620b67c2 debug: Split the DWARF stuff in its own file
3d53a9571 Merge branch 'LemonBoy-fix-4508'
ec889d588 NO_MEDIA_IN_DEVICE => return error.NoDevice
9c3eff919 Revert "arm: clean up the messy sub-architecture & CPU features"
ae16a6773 std: Handle NO_MEDIA_IN_DEVICE error in openFileWindows
a38554778 ir: Compile error on result_loc type mismatch w/ slicing
c49ab049c Merge pull request #4511 from mikdusan/stage1-verbose-ir
81cc52d4a stage1/ir_print: show GenConst in trailing fahsion
3c76e5e33 update tls in std lib for lack of sub-arch
7c298c8c1 fix generation of builtin import
884d15040 stage1 main: fix cli parsing of architecture
c33cd370f fix unit test for Target.parse
ef2d237f2 this is not the proper way to support this feature
84f1893c1 remove the concept of "sub-architecture"
96f45c27b arm: clean up the messy sub-architecture & CPU features
4c6f207af clean up arm CPU features
1483ae37f Add an appendValues method to ArrayList to append a value n times. (#4460
e270db956 std: tagged unions are broken on arm64
d989396a3 std: add json.parse to automatically decode json into a struct
5a2060482 std: add json.stringify to encode arbitrary values to JSON
c664692bd make the CLI support depending on system headers and libraries
63383a8af consistent capitalization of error message
c5ca0fe23 Merge branch 'pixelherodev-emit'
d7968c6d3 improvements which allow zig to emit multiple things at once
dba12cd69 Rename produce_* bools to emit_* to match CLI
9c98c73e7 Disable binary generation when deprecated `--emit` is used
2502cb242 Improve support for generating LLVM IR/asm files
cbc4e59e6 Merge branch 'LemonBoy-c8c8c8c8'
30194f27f update new test case to take into account lazy `@typeInfo`
eb5e6259a docs: Fix wrong extern fn definition
a6b74cdd3 stage1: Make the parser reject extern fn with body
95a71e29f zig fmt: Fix callconv rewriting for extern + string
ccca4b5a5 Merge pull request #4474 from LemonBoy/saukerkraut
7f92d0d4a Merge branch 'daurnimator-use-fifo-from-stdio'
a8d765200 avoid a `@ptrCast` with an array literal
3632f31ec std: use LinearFifo to implement io.BufferedOutStreamCustom
dd75cc214 std: let PeekStream have static/dynamic variants
38ad7daeb std: use LinearFifo to implement io.PeekStream
bdff2f43b std: use LinearFifo to implement io.BufferedInStreamCustom
662996e4a Merge branch 'FireFox317-lazy-typeinfo-decls'
d056c7732 fix std.meta.refAllDecls
dd58278db add behavior test for previous commit
7560fc716 Makes the declaration slice resolve lazely when using `@typeInfo`
e8a84927a Merge pull request #4478 from ziglang/self-host-libc-detection
35f0cb049 stage2: fix invalid iteration code in std.ast.Node.Asm
99520c4e6 target_os_requires_libc implies dynamic linking
5a4e8c779 smarter detectNativeDynamicLinker logic
b53afc510 update dl_iterate_phdr test case to new API
8fe636daf fix ABI mismatch of ZigTarget in stage2 glue code
9b02cab3d fix glibc not forcing dynamic link
a959e9827 target requiring PIC does not imply dynamic linking
4b91e4c91 fix dynamic linker detection on windows (where there isn't one
e26f063b2 support the concept of a target not having a dynamic linker
2f9c5c064 self-host dynamic linker detection
c784c5281 fix backwards warning of `zig libc`
44c14749a expand argv[0] when spawning system C compiler
64365bc5d enable behavior and std lib tests for RISC-V 64-bit
a5d47be5a stage1 os_update_file additionally compares src and dest size
d5860cbad fix os_update_file implementation on Windows
364a284eb stage1 os: handle errors from read/write
a26800c09 stage1: don't copy unchanged output files
5c54d7bee add missing implementations of libc installation to detect msvc paths
20f3b0eff rename libuserland to libstage2
c25742010 add the dummy libc paths back in
7eb0a3edc remove libc dependency of zig0 building libstage2
39ee46a6c fix building zig0 -> zig on macos
8173fbfb6 implement os.faccessat for Windows
6b74fd2e1 ir: Avoid invalidating the decl_table iterator
59a243ce2 std: Remove now-superflous hack
096f79260 ir: Prevent crash when indexing undefined ptr to array
4b02a39aa self-hosted libc detection
5e37fc074 more user-friendly error message for some clang diagnostics
7f7d1fbe5 Implement noasync awaits
cb3a81869 zig fmt: support `noasync await`
72805fd66 fix taking address of temporary async frame
652efe38b Merge pull request #4467 from mikdusan/translate-c-error
858303864 translate-c: change OutOfMemory → ASTUnitFailure
b15958c55 fix c tokenizer bug
9e1afdc23 Merge pull request #4454 from LemonBoy/capture-reform
058f38220 enable passing freebsd tests
816b69a34 update clang drivers to llvm10.0.0rc2
f4317e438 update libunwind to llvm10.0.0rc2
2289036a4 update libcxx to llvm10.0.0rc2
74619cc04 update clang C headers to 10.0.0rc2
a8b36fbe3 Merge remote-tracking branch 'origin/master' into llvm10
1c8ac2a0c test: Add test cases for the new capture behavior
40b9db7ca Merge pull request #4451 from daurnimator/use-testing.allocator
9206f8a8c translate-c improve macro cast translation
7396b144b modernize std.meta
3038290a4 ir: Make all the payload captures do a copy
6ea6d5a4b std: use testing.allocator in tests
ca4156792 std: use testing.allocator in big int tests
f20ba7c32 std: increase memory available to testing allocator
b61e53cc4 std: bigint.deinit() shouldn't need a mutable pointer
fb6b94f80 cmake: remove case mismatch detection on build mode
cf67d30cd Makes ArenaAllocator.deinit() not require a mutable reference.
a090a5e3b ir: Don't crash when converting undefined ptrs
e8dfc5e7f Merge pull request #4442 from fengb/testing-allocator-calls
de23c5713 Merge branch 'LemonBoy-revive-3904'
cdba521a0 annotate skipped test with issue link
948a463cf fmt: vector formatting
1675d4f82 Merge pull request #4443 from LemonBoy/werkzeug
fa377dbd1 fix c tokenizer bug
f93c219f3 Minor changes for a test case
c5260f7f8 ir: Allow implicit conversion between vector types
4578d13b4 Vector comparison in meta and testing
1fb70497d Merge pull request #4441 from mikdusan/stage1-cmake
08666a057 Merge pull request #4439 from vegecode/custom-format-comment-issue
a81ae1223 Convert a lot of json tests to use testing.allocator
699c50a37 Switch a bunch of FBA to use testing.allocator
471662f7c stage1: limit cmake checks on build type
55304128c Fix rendering of empty arrays
327d40e7a Fix a UAF when verbose-llvm-ir is specified
d06bfc2e2 Correct comment to include comptime attribute on format output fn parameter
ab4ea5d3c Merge pull request #4433 from LemonBoy/ohno
6c05f0949 ir: Fix erroneous error message for ptr casts
b81c5be45 riscv: Remove 'relax' from the baseline cpu features
f8fd8c481 test: Skip the atomic-on-fp test for riscv64
ea8755fda compiler-rt: Export the AEABI builtins when targeting thumb
e624c8628 Merge pull request #4389 from mikdusan/stage1-mem
edb210905 stage1: memory/report overhaul
261836605 Add cast between [*c]T and ?[*:0]T on fn parameter
3237528a5 fmt: Pass the fmt string to the inner formatters
3170ead9e compile error instead of abort for unimplemented `@typeInfo`
702398dd0 Revert "windows: remove the 'A' versions of psapi functions"
1cdefeb10 windows: remove the 'A' versions of psapi functions
ae5ba369e translate-c float fixes
70a4794c5 fix compiler assertion when duplicating fields...
cdc5070f2 Merge remote-tracking branch 'origin/master' into llvm10
014f66e6d Merge pull request #4404 from ziglang/async-std
27575d19c avoid conflict with master branch
acdf4048b allow local variable address detection to regress
5ea79bfc4 fix not checking type of return pointer
04ee3b01a fix defer interfering with return value spill
3b622f449 fix off-by-one error in std.unicode.utf8ToUtf16LeWithNull
c4d0f97b4 compiler_rt: Fix clzsi2 implementation for Thumb1
5b10d9f91 std: fix bitrotted evented code
6ae36807b solve recursion in std.atomic.Queue.dump
24d197b03 solve previous commit a better way
d80db3546 Revert "properly spill optional payload capture value"
80ba21b83 properly spill optional payload capture value
884804dbc fix async runtime function call resolves target fn frame
c48831512 std lib typo fixups
eddca5005 fix regression in docgen
b55bc5eb2 Add wWinMain and wWinMainCRTStartup to fix #4376
0e7461d4a Merge pull request #4408 from LemonBoy/mmap-i386-fix
877f39d22 fix async function call resolves target fn frame
39ee1f4b9 fix invalid behavior tests from prev commit
a779450fe linux/i386: Make syscall6 more robust and correct
4a6068930 more carefully calculate llvm field indexes
9e5b24899 remove workarounds for Windows native CPU features
3fce8008c skip self-hosted for now as we work towards async I/O
7f4cce334 add fcntl support on darwin
eff50abce Fixing library search path
a1576225c Merge pull request #4409 from LemonBoy/llvm-10-fpchanges
71873e713 implement os.pipe2 for darwin
e3447e67f riscv64: Enable some more tests
8d6536b50 codegen: Use the new frame-pointer fn attributes
7a58ec81e std: Add a few tests for mmap/munmap
be02616c8 debug: Show a nice error message on SIGBUS
0b5bcd2f5 more std lib async I/O integration
786700249 build: fix handling disabling .h file generation
cfcaf09cc debug: Improve the frame-walking strategy
5cf30b679 Merge pull request #4369 from daurnimator/gimli
e1f4f44df std: improve non-libc dynamic library loading
80ae434b6 Merge pull request #4397 from LemonBoy/fixes
704cd977b ability to run tests in evented I/O mode
84323504a std.fmt.format: comptime output parameter
378d73343 Merge pull request #4345 from Rocknest/open-di
5076f2d4f std: improve non-libc dynamic library loading
8c55c4550 std: Rename isAbsoluteW to isAbsoluteWindowsW
9d41ff335 std: Make TCSA enum ABI-compliant
21932a0ef Fix edge case in cast between fn with varargs
40b1fecac Merge pull request #4363 from Vexu/trans-std-c
f196ddd25 translate c type names
f30feab1b Link the issue in doc comment
a56183197 Fix double close in openElfDebugInfo
b022db16e Merge pull request #4394 from mikdusan/fix-cmake-regression
d0a9da74e stage1: fix cmake regression
ef4ecaa46 std: add AEAD modes for gimli
b49551217 add gimli to crypto hash benchmark
5a095a3f0 std: add Gimli based PRNG to std.rand
1f49460dc fix regressions in comments and string prefixes
25cbee0b8 Merge pull request #4390 from mikdusan/cherry-pick
c6df5deb3 stage1: guard against case-mismatched build types
3e7c02edc std: Fix edge case in isAbsolute fn family
1530e82b6 re-apply: these are not real CPU features
73256dda9 work around LLVM 10 llvm-config giving absolute path to libz.so
a697de3ea Add basic linux termios implementation
a9df637fb fix undef clang library symbols when linking self-hosted
d0b12d772 Merge remote-tracking branch 'origin/master' into llvm10
0fdcd5c4c Merge pull request #4337 from LemonBoy/stdlib-bsearch
1658becb6 fmt: Fix one more edge case in container formatting
db3aea3a0 Change API for binarySearch fn
5504f155a Merge pull request #4366 from jayschwa/blake3
9b11e5e1f Add InstallRawStep to Zig build system that does a similar job to llvm-objcopy. To use it, do 'exe.installRaw("kernel.bin");' where exe is a LibExeObjStep
cb2c14e03 blake3: Workaround issue #4373 with named types
958f00f1c Don't generate any type info for void return types
a795c36d7 Merge pull request #4352 from LemonBoy/fix-4349
32291ab70 Add support for dependent packages when using build.zig
923e567c6 blake3: Replace `&arr` with `arr[0..]` for slice args
b143fc0d3 blake3: Name and const pointer refinements
d098e212a blake3: Convert `*const [n]u8` types to `[n]u8`
35c40f0a7 fix regressions
4b86c1e3b crypto: Add BLAKE3 hashing algorithm
3b23929be use std.c.tokenizer in translate-c
4f2652d50 Winsock errors can be an enum
0bf91cce5 windows: Minor changes to psapi prototypes
e548195fd fmt: Use left brace position instead of the right one
f34abbf26 fmt: Handle declarations in line with the opening brace
3640c682a Run `zig fmt`
8309ee875 fmt: Respect trailing comma for field declarations
e6a812c82 Merge pull request #4340 from daurnimator/ntstatus-as-enum
dee7804a8 fmt: Fix logic to find the argument list closing
a62b4f268 Merge pull request #4347 from LemonBoy/psapi
c910aa855 windows: Add GetCurrentProcess definition
9ffc13b6c windows: Add psapi API
ab46713fa std: update for linux 5.5 release
a351350b8 std: format non-exhaustive enums
b9f720365 Turn win32 errors into a non-exhaustive enum
7cf0b02ab NTSTATUS is a non-exhaustive enum
176bc5385 translate-c: Fix translation of fn pointers
1e78070a4 `dupe` the string as is done in other handlers, build: Fix missing `dupe` - Strange memory corruption issues occur when allocated memory is passed to the builder and it is `defer`'d and freed - Instead, this fixes the issue
644a34471 self-hosted: add missing arch switch prong
a47587700 fix translate-c regression
c5df0b3e9 set llvm cpu features to null for exynosm1,exynosm2
fd8d8afb2 stdlib: Add binary search function
d27678fe8 fmt: Refactor the arg fetching code
17c8f108a drop @newStackCall
13f782426 Merge pull request #4326 from LemonBoy/fix-4181
4d2fed623 zig fmt behavior tests
58c97b356 fix llvm assertion with debug info for vectors
7b5f4a8d1 fix llvm assertion with debug info for vectors
979c69d6b Amend some failing test cases
c944865fc Generate compilable code for array inits
cbd42e44d rb: fix rb.Node.getLast() that never worked
70ee818d2 update target CPUs and features with llvm10's data
14d9582e9 ci: don't rely on sourcehut's pkg system
65b1a4953 Merge pull request #4324 from fengb/testing-allocator
e3a383a66 Merge pull request #4239 from shawnl/rb
0303e7bd8 Merge pull request #4319 from Rocknest/windows-traces
e77a102e2 Small DWARF fixups
a5f18c2b2 Fix one more edge case
9c196efa2 Add explicit error message for too many frees
94f29ae11 Remove intCast's
46d84a1b6 Convert a few more page_allocator
c1fb97aef Remove unnecessary allocator from mutex
184128fd9 Fix testing.allocator wiring
c75f65d38 std.Target: add ve arch
a63a2fdf7 update zig_clang bindings to release/10.x
c7fa71d23 update clang driver to release/10.x branch
a95dce15a Merge remote-tracking branch 'origin/master' into llvm10
5c8e85f38 Fix BufMap value leak
b7a236d68 Convert a bunch of page_allocator to testing.allocator
ad93ad3e6 Fix errant reference to page_allocator
837877ea3 Update docs to reflect new testing.allocator usage
898ef82d6 Patch in arena to cleanup leaks
b077f3ab7 Promoted "leak_count_allocator" to the main testing.allocator
70ad84c82 Use defer/panic to better account for test failure
0c137934c Move FailingAllocator to testing
b1884b3a6 Fix aarch64
7ebc624a1 Merge branch 'LemonBoy-fix-4259'
f97b398b6 simplify int/float comparison
c0c9c601d Fix off-by-one error
fe4ef7b46 Fix comptime float-int comparisons
ffd30dbe2 Fix stage1 test
4a4d6f2be Reorganize definitions
d448c3d38 Add support for code model selection
59bc1d272 Fix edge case in switch with single else
c4e6e5fad Add explicit free to docs
aa9caf506 Create leak_count_allocator
b7cd60a35 Changing stuff and seeing what happens
4fad16284 Merge pull request #4320 from fengb/while-spills
4d134a01f Move debug.global_allocator to testing.allocator
34706dad3 fix typo in doc comment
0cc2489d2 Merge pull request #4317 from Vexu/std-c
534014f84 translate-c: Handle fn protos wrapped in parenthesis
1ba455485 Correct dl_iterate_phdr address
9a0a378e2 Add test cases for suspend in while loops
a4ac7980b Add a spill to while error union
3500b41bf Add an advanced segfault handler on windows
abd1a7c91 std-c add todos to unfinished parsing functioins
2f239e3db Add a spill to while optional
3ec37c979 Build compiler_rt/c with optimizations if possible
13259acbc std.sort.insertionSort: remove superfluous block
76fba5baf Merge pull request #4152 from ziglang/ir-clean-up-vars
3ed52e545 fix build.zig logic for -target-cpu and -target-feature
504ce86ac fix more compile error test regressions
793d81c4e fix result locations not handling undefined correctly
86da9346e fix error message column/line number regressions
e0000c47b fix regression of storing optional with 0-bit payload
5c55a9b4e fix compile error regression with struct containing itself
287d3c37e fix 0-bit child type coerced to optional return ptr result location
8710fdbf3 column numbers of compile errors, fix line
926a7adb3 Update langref.html.in
ae20574d5 add missing spill for for loops with pointer elems
c58633ef1 fix assertion with var debug loc not initialized
9d59cdb8c fix auto created variables not having correct alignment
d8e254999 remove invalid use of `allowzero` in std.crypto.murmur
37ab96049 fix not handling undefined u0 correctly
b38b96784 fix triple level result location with bitcast sandwich
b96872ef2 `@bitCast` result location: fix passing invalid alignment
c0fee9dfc fix nested bitcast passed as tuple element
e2778c03e Merge branch 'master' into ir-clean-up-vars
d89650025 Merge branch 'LemonBoy-fix-4274'
f41e50dc0 Merge branch 'fx-4274' of https://github.com/LemonBoy/zig into LemonBoy-fix-4274
459138949 Merge pull request #4300 from LemonBoy/debug-windows
d5c2a20d8 Unify the two DWARF interpreters
7336b750b Fix stack-trace address calculation on Windows
f8e015c85 Handle S_GPROC32 symbols in PDB files
518dbd30c Merge pull request #4133 from daurnimator/4087-free-sets-undefined
51ac8eb08 fix regression in windows stack traces tty detection
96e5f476c Merge pull request #4264 from ziglang/layneson-cpus_and_features
3839ea897 fix debug info code not being freestanding compatible
d9fb6c205 fix compilation error
9dffc369f Merge remote-tracking branch 'origin/master' into layneson-cpus_and_features
4e9b1f547 Merge pull request #4290 from ziglang/split-ir-structs
32f0039b4 fix memory profiling
6aac42396 IrInstGen, IrInstSrc, split IrInstruction into IrInst
aaa2f9ab2 Fix handling of DW_LNE_end_sequence
8516ee392 Fix parsing of DW_AT_Ranges debug entry
a4a933064 translate-c: Don't make const parameters mutable. (#4273
aa75df36d Merge pull request #4279 from mikdusan/create-global-cache
3d8328abc Don't include stdbool.h for void and unreachable
b54040d39 stage1: make sure to create native_libc.txt dir
800ead281 update target info to llvm 10
79fb48601 link: update to llvm 10 API
72589dbff zig_clang builds with llvm 10
32dafbdad zig_clang: update StmtClass to llvm 10
8d9b8ab93 More error checking for unresolved TLDs
3588f9971 zig_clang: update TypeClass enum
fbfda7f00 fix incorrect list of sub-arches for aarch64
c86589a73 disable f128 compiler_rt tests failing on windows
1a08c0d40 new test case
ead7d1577 use an older arm64 sub-arch for test suite
357f42da6 compiler_rt: fix mulsi3 test typo
fb8e681ea update zig_llvm.h and zig_llvm.cpp to llvm 10
9845264a0 aarch64: less feature-full baseline CPU
a284be3f6 Fix unsafe cast in translate_c
211e1b1ce ci: update to llvm 10
0c477f3c7 fix std.Target.Arch.parseCpuFeatureSet unit test
74872263c lib/headers: update to clang 10.x C headers
3227aec84 fix not respecting sub-arch feature
b94525c45 Merge pull request #4263 from LemonBoy/debug-thing
48c7e6c48 std.Target.CpuFeatures is now a struct with both CPU and feature set
69c72e24d compiler-rt: Port __mulsi3 builtin
97b2ac598 Merge remote-tracking branch 'origin/master' into llvm10
c6bfece1d Revert "tests: use an older aarch64 sub-arch"
cbe9a5151 don't trust llvm's GetHostCPUName
830e0ba2d enable native CPU feature for windows; disable failing tests
4640ef589 tests: use an older aarch64 sub-arch
6e6ec3d71 put hack back in to disable windows native cpu features
68b6867e7 lazily compute the full cpu features dependencies
92559cd02 hit a comptime limitation with computing dense sets
b8601e925 Adjust tests & work around a nasty ICE
59d0dda08 Make writeByteNTimes faster and leaner
bc82e0f3d Refactor some code in the debug output
15d5cab56 fix target_triple_zig to emit zig-compatible triples
91ecce3bc fix cache of cpu features
6793af8d8 these are not real cpu features
327ad0ae8 target_triple_llvm: emit none instead of unknown
1f7babbc8 properly forward baseline target cpu features to llvm
0abaee79a fix self-hosted compiler regression
5974f95cb add cpus and cpu features to zig targets
0c2dde2fd add libc and glibcs to self-hosted zig targets
39759b90f make zig targets show native cpu name and features
e640d0153 fixups to arch data, support any number of cpu features
6118b11af Revert "aarch64: remove CPU features that are actually just CPUs"
89e107ee4 uncomment all the archs in target.zig
6dd514ac8 aarch64: remove CPU features that are actually just CPUs
6e88883ed import data from llvm 9
f3dd9bbda improve `zig targets`
bf8292955 fix std.Target.Arch.parseCpuFeatureSet
c522699f2 Fix ICE in build addAssemblyFile
0000de4fe Handle {s} format for C strings. (#4219
5cc493246 std: allocator interface sets freed memory to undefined
65013d859 std: fix bug in http.headers where .put captures user-held variable
8f29d1407 stage1 is building. `zig targets` now self-hosted
20af85860 some fixes
e3b5e9187 do the x86 arch
a313f1538 figure out zig0/stage1 and scanning for native CPU
a867b4336 progress towards merging
c15623428 Pass target_details to child CodeGens
430077df1 Allow target details with no LLVM support
62e4cc06f Pass target details to c compiler
35c681b7b Fix sentinel mismatch in llvm strings
8902f3ca3 Enable 64bit feature for riscv64
de8a5cf5f Remove features/cpus not in LLVM v9
a5c939753 No allocations for n.t. empty strings
40ff35948 Only enable requested features
ebb6f15bb Make sure llvm strings are null-terminated
fd17a9962 Add defaut feature support
03dd376b5 Add builtin.zig support
c61856ebc Add TargetDetails abstraction
79a2747de Add llvm_name to feature defs
e4ecdefa9 Rename subfeatures -> dependencies
51372200d Filter out non-features
c1798cb63 Add build.zig cpu and feature options
b3324f190 Add cpu/feature to cache hash
bd6ef21f8 Add cpu/feature specification to cmndline
c8f1e0d6d Remove llvm_name from features
c131e50ea Switch CPU/features to simple format
9d66bda26 Fix spacing in main.cpp
5bc4690d8 Make targets cmd able to list CPUs and features
21908e100 Fix CPU and feature defs
8ac138a31 Add parseArchTag and fix parseArchSub
8f191e016 Update term feature deps -> subfeatures
0f46c12f7 Create initial target details infrastructure
ad15a7324 rb: type Tree.sort with SortError
ad327fed0 do string concatanation in parser, std-c redo scoping
7a1cde720 Fix wrong error code being returned in enum analisys
e491b2f5a Merge pull request #4231 from LemonBoy/more-builtin-work1
4ab9678b9 rb: add sort() that re-sorts tree with new compare function
e19008292 rb: *breaking* make API thread-safe
de07ca77e rb: just use @include("std"
861724bcf Fix some tests broken by the renamed files
7bb4c855a Merge pull request #4222 from LemonBoy/eutwouwth
5fbc1c281 Nuke some more code
3247fd786 Export MSVC builtins inconditionally
ae31da933 Minor cleanup
6b056d1fb Nuke some repeated code
7d94e712f Remove useless wrappers around f32/f64 aeabi builtins
fa52c9e36 Small cleanups
405b8e9ee fixed typo - "path" lead to undeclared identifier
f47b7a043 Merge pull request #4220 from LemonBoy/fix-4214
72ec44567 std: turn EAI_ constants into a non-exhaustive enum
9e6e1e58b std: use non-exhaustive enums from crc module
b0f753e21 Fix edge case in tagName handling of unions
f456b88ba Get rid of some dead logic
c53d94e51 Prevent crash with empty non-exhaustive enum
5f2bac010 Allow @tagName on enum literals
b72f85819 Merge pull request #4215 from mikdusan/cmake-install
b9f4ac86e cmake: support `make` and `make install`
b5ac079f8 Merge pull request #4191 from Vexu/non-exhaustive-enums
d9be6e5dc Port clzsi2 from compiler_rt, required for using std.fmt.format on some ARM architecture.
d53e8a575 Revert "cmake: support `make` and `make install`"
39f92a9ee improve behavior test
9348609e6 Merge pull request #4208 from mikdusan/contributing
af9eb7ac1 doc: update contributing
ab2cb435e Merge pull request #4209 from mikdusan/cmake-install
97cca1376 cmake: fix install lib path message
396d57c49 fix failing array test by improving copy_const_val
8f336b397 revert one part of ir get_elem_ptr analysis
6a8c9f730 fix regression with optionals and globals
b952b8448 relax language requirements regarding else unreachable
8bf425957 fix regressions double implicit casting return ptr
e48157c3c fix regression with inferred struct fields
fb8da16a6 fix regressions in get_elem_ptr related to undefined
d0b055d69 fix implicit cast regression
96d64a40a fix regression with var ptrs not being const
b6c8fead0 fix regression in global const alignment
fbcee58cf zig ir.cpp details: remove the mem_slot mechanism
0240fd914 Merge pull request #4206 from mikdusan/cmake-install
7e674d676 zig_llvm: update CodeGenFileType usage
cd062b08d cmake: support `make` and `make install`
6c8f01dcd correct field count
56f433b3d update clang drivers to llvm 10.x (ac446302c
bac27731e add struct field default value to typeinfo
df03fcf5f implement `@bitSizeOf`
ba4cc03b4 remove embedded LLD
fbe6af81f Merge remote-tracking branch 'origin/master' into llvm10
f609ce4f6 Minor changes to the ARM builtin fns
7e5e767ba Fix regression in char printing
0267afa9c Fix garbled error messages from clang
6450736c5 translate-c default enum tag type to c_int
cb257b4e1 allow non-exhaustive enums with no fields
d84569895 require at least 1 field in non-exhaustive enum, turn panics into compile errors
8a792db2d Merge pull request #4187 from LemonBoy/builtin-rearrange
02e5cb1cd add non-exhaustive enum to langref
5c2238fc4 small fixes
c57784aa1 add is_exhaustive field to typeinfo
f3d174aa6 require size for non-exhaustive enums
0ea96c11e disallow multiline strings in test and library names
e8012740b Fix off-by-one error (and missing store op
b971c7d0f update tests and translate-c
0a4105195 stage1: move local native_libc.txt to global
6fd0dddf1 implement non-exhaustive enums
ede28755b Fix test case
c5cfc9bf6 Move definition of __aeabi_read_tp
5d5345728 Fix div builtins to use the correct calling convention
109e5f8a5 Remove unnecessary logic
44e379628 Rearrange some builtin functions placement
8d9d4a065 Merge pull request #4182 from LemonBoy/mjeiorw
c85afff5a Correct l_name field type
49771f356 Make sure @export symbol name is not empty
c1f3766f1 Correct dlpi_name field type
158d98a7f Print sentinel value in ir_print
7ee0e779a Fix std.child_process.ChildProcess.spawnWindow when looking in PATH environment variable, it applied cwd+app_name instead of just using the app_name
505b9db90 Fix codegen error for some union initializers
af2ede4d9 fix crash on multiline library name
50754ba33 Fix ICE when BoundFn are passed as parameters
4c87281b5 [docs] Add libc dependency to sentinel-term ptr example
e7917d099 Add clamp function to math module
28daddae8 std-c todos and small fixes
d3e67d992 Merge pull request #4172 from LemonBoy/swish
cae93c860 Allow switching on pointer types
84930fec2 Validate switch range endpoints
b9f37ffe1 fix outdated comment
4f9739189 add an extra assert
c774c9376 Merge pull request #3957 from xackus/stage2_parser_3799
2be12b24b doc/langref: mention that x is the sentinel in [N:x]T
4d4852ad3 Merge pull request #4162 from LemonBoy/fix-4020
54b11f66a Fix compiler-error regression
d08009556 Merge pull request #4161 from mikdusan/stage1-builtin-debugtrap
34cdcb13c Fix @call being too eager to resolve the fn argument
25b1ae0a5 prefer C++ compiler builtins for BREAKPOINT
c96131f30 Propagate errors in for loop bodies
c4770e7aa docs: update grammar to remove C strings and add anon literals
a6f6d8d2f Merge pull request #4139 from mikdusan/stage1-relative-path-errors
fc20a5899 strip cwd from compile error paths
860d88037 Correct TypeId docs
34ae1d9aa Fix unsafe cast in translate_c
0827e298e Add WaitForSingleObject function to std.os.windows
95619ecb8 Stop dropping errors from clang
4c0776b2a std-c parse switch
6f8e2fad9 tool to download unicode data and generate identifier character data
5880eb3a7 stage2 parser: document undefined and clean up
9cc7fb66b Don't special-case `builtin` too much
84e98405d Inform the debugger about the effective type sizes
f81529fab stage2 parser: fix segfault on extern block
570ffc470 Handle forward-declared functions
e06a6b964 Merge pull request #4129 from daurnimator/windows-child_process
3f98756f8 Fix translation of signed array indices (#4113
03e1241b8 std: avoid an allocation in inner loop
6fb636050 std: fix off by one error in windows process creation
ae324985a clean up a TODO in self-hosted
5e345ff0e Merge pull request #3955 from LemonBoy/fix-1528
5ab5de89c New @export() handling
4613e4d15 Fix C struct with function pointer member and typedefs mistranslated (#4122
834218d78 Fix remaining variadic formatted prints
d7333d879 add simple test, std: fix LoggingAllocator
c51b79c56 Correct alignment calculation for runtime addends
27b290f31 Propagate more failures upwards
7ea7842ed Fix calculation of new alignment factor
7fe13f4a8 Pointer alignment fixes for the stdlib
e134e6c99 Pointer arithmetic affects the alignment factor
02ace4569 Correct @mulAdd's doc
38ce7f64e Add removeIndex function to PriorityQueue (#4070
0ebb07f95 Merge pull request #4101 from LemonBoy/moremerwio
6a72eb154 Use abort() instead of assert(
5b34697b2 Cast integer literals to their specified type
fd7e69a2c More translate-c fixes
2a5c622e6 Fix crash with unresolved loc
e21ea5bd9 std-c parser loops
9f064bcf7 Merge pull request #4091 from xackus/json_copy_strings
83b416359 std-c parser declaratorIsFunction and small fixes
7b73c7fe1 Merge branch 'std-utf16-sentinel-terminated' of https://github.com/daurnimator/zig
e2e9be5de Merge branch 'dcao-master'
af390b75d cleanups related to --eh-frame-hdr
8e57dd57c add --eh-frame-hdr conditionally
599213463 add --eh-frame-hdr arg for linking
8b713ce88 std-c parser add options
437c6a4b7 Make markdown parser more safe (#4105
3607d9ee6 Fix crash in struct initializer evaluation
688d02176 build support list options
156e43b46 added -- to pass args to zig build commands
e81b50596 Use the correct calling convention for AEABI intrinsics
4e4ba6c3e test harness: show annotated case name when translate-c test fails
dbc045706 std-c declaration parsing
814b54d79 json tests: don't use debug allocator
2933a8241 json: disallow overlong and out-of-range UTF-8
4184d4c66 std-c parser record and enum specifiers
df12c1328 std-c parser typing improvements
9390e8b84 Preserve packed attribute in C translated struct (#4085
8492c46ad add test case for already fixed bug
8c640b3e6 Prevent bitCast to enum types
7e7d0e1ff Better handling of decayed arrays to pointers
0deab8fd3 Add std.mem.zeroes to the standard library
baaef7ed9 Merge pull request #4083 from LemonBoy/better-stdbool
bf678a12d Merge branch 'LemonBoy-c-anon-stuff'
62413da9d Add run-translated-c test & fix one more edge case
2da9e0060 Add explanation about weird clang behavior on windows
1dc25d755 Translate anonymous union/struct
f83b02a58 translate-c: use @intToPtr to cast away qualifiers
e3a63b4e5 Add more compiler-rt functions for ARM platform
d3d77138e remove redundant license file
633b6bf92 Merge branch 'LemonBoy-cc-work'
c0e8837ce update docs with regards to callconv
be2483c57 fix test suite regressions
5ada610e0 update translate-c and tests for new extern/callconv syntax
3b5c71d2a fix regression with `@TypeInfo`
53913acaf zig fmt and update `extern fn` to `callconv(.C)`
5951b79af extern, nakedcc from stage1; zig fmt rewrites, remove stdcallcc
0a9daeb37 Merge branch 'cc-work' of https://github.com/LemonBoy/zig into LemonBoy-cc-work
4e6ad8efd Removes proc_raise from WASI implementation
6bebf741f json: implement copy_strings=false
3ed6d7d24 std-c parser declarator
eca294cd2 Add run-translated-c test
cd39f6df9 Better _Bool translation
c30106c90 add test case to cover already-solved bug
6ff70d3c3 Better InitListExpr translation
d5d52af26 std-c parse pointer
5888d84ea Merge branch 'data-man-rusage'
fee9318b1 std.os.getrusage: add C extern fn and reserved field
2f6b045fb Add std.os.getrusage
62bebda27 add "Improving Translate-C" section to CONTRIBUTING.md
d7bff0509 Merge pull request #4064 from ziglang/fix-4054
a0ca34979 Merge pull request #4053 from ziglang/test-run-translated-c
5feeff712 std-c improve error reporting and decl parsing
795a50399 std-c tokenizer always add newline token
f934f9b41 std-c parser fndef and static assert
46f292982 std-c parser DeclSpec
25f7f66b8 std-c type parsing
dccf1247b std-c ifstmt compoundstmt and errors
a20c0b31d std-c parser and ast organization
73a53fa26 std-c outline parser
e1b01d32f std-c ast base
2183c4bb4 std-c tokenizer string concatenation
a5d1fb1e4 std-c tokenizer line continuation, tests and fixes
c221593d7 std-c tokenizer better special case handling
472ca947c std-c tokenizer add tests
d75697a6a std-c tokenizer keywords
26bf410b0 std-c finish tokenizer
f14a5287e floats and comments, std-c tokenizer strings
05acc0b0c std-c tokenizer more stuff
04b7cec42 std-c tokenizer base
242f5d10d fix test-gen-h and test-compile-errors regression
157b8e688 fix test-stack-traces regression
2e5342512 remove @TypeOf() hacks for comptime_int/comptime_float
a690a5085 rework and improve some of the zig build steps
508a8980b Merge pull request #4072 from LemonBoy/misc-stuff
a712ea333 Fix translation of for loop init
51e430fac Fix edge case in hex-literal translation
ac867cc45 fix tests
14fcfe298 translate-c supports --cache on
6ea193946 Merge pull request #3950 from nmichaels/master
7838031b4 use @intCast instead of @as for shift rhs
b91eaba38 Correct evaluation of optional type alignment
3f19bc5d0 Merge pull request #4058 from LemonBoy/awful
e6485282d Better logic for last-param rendering
7b375a1c4 Revert "Revert "Trailing comma is respected for builtin calls""
f40b6b85f Remove `translate-c-2` from zig help
695c8f756 add test harness for "run translated C" tests
f83411b0b Revert "Trailing comma is respected for builtin calls"
e9536ca10 Fix edge case in C tokenizer
afd029091 Trailing comma is respected for builtin calls
a90fa45ae Merge pull request #4027 from ziglang/fix-float-ops
fe21d84c9 Merge pull request #4040 from Vexu/translate-c-cast-fixes
b0fa2ff85 Translate struct/union initializer expressions
213ff939f fix comptime vector float ops and add test coverage
d09bd3d86 Fix more tests
435528a7c Use the LLVM C++ API
e99209baf Add transform test
0ccac79c8 Implement Thiscall CC
08a26fea0 translate-c tests
0ec64d4c0 Integrate callconv into translate-c-2
271fc6a24 Catch more errors during the type resolution phase
563d9ebfe Implement the callconv() annotation
197509e1e Merge LemonBoy's translate-c branch for linksection/align
d908ca482 Translate align attribute
8e89bdfe9 Translate linksection attribute
0f1595e72 translate-c use `@enumToInt` for global enum values
7bd80f207 translate-c tests: print clang compile errors on nonzero exit code
386270425 translate-c use canonical type in casts
3dd067fa2 translate-c fix increment rendering issues
de894f2bd Prefer simple ptrCast between opaque types
1e61e5f40 Don't ptrCast a result-location assignment to _
f35a963ac translate-c properly handle unused var-args
cb56b2690 fix float ops with respect to vectors
576320e6d Merge pull request #4025 from ziglang/Vexu-stage-2-cimport
88c5e2a96 translate-c: don't export inline functions
5ba143e7e avoid trying to translate microsoft's stdio.h inline functions
a3f741e9b translate-c: avoid producing duplicate macro errors
365a6124d translate-c: fix regression from previous commit
ec09b9e5f translate-c: prevent name clashing of macros declared after locals
9298b9a4a translate-c: prevent name clashing of globals declared after locals
dc28526c6 translate-c: improve support of integer casting
5575e2a16 std.mem.compare: breaking API changes
1b64a5f5f fix segfault in bit shift safety check
7b62d5dfd translate-c: propagate scope properly in nested assignment
0fb3e6608 Merge branch 'lun-4-linux-memfd-create'
42945a269 translate-c: better mangling strategy
0c8ec369f std.os.memfd_create: add error.SystemOutdated
5749f706e translate-c: non-wrapping operator for pointer arithmetic
39ee3bc0e Merge branch 'stage-2-cimport' of https://github.com/Vexu/zig into Vexu-stage-2-cimport
c8c65b016 translate-c: add `pub` to failed-to-translate macros
818621140 improvements to memfd_create
a153a972a io.test: close memfd at end of test
13c9faaa2 c.linux: add memfd_create
f0cbf63e1 os: use system for memfd_create
997812e8f os: add memfd_create
25051832b std.fmt.format: add helpful compile error for non-tuple args
d972d1c94 generate header in separate folder
86ba8c06b Merge branch 'lun-4-net-reuseaddr-opt'
99f6f8ead update setsockopt error set according to POSIX
22f629715 std.os: update error set for setsockopt
0d852effe std.net: use mem.toBytes
50e6a27c2 std.net: fix setsockopt call
5efc0ea89 std.os: make setsockopt receive a slice as option
ea8f49697 std.c: c_uint -> u32 for sockopt functions
3ccbf3cfc move parameters on sockopt functions to c_uint
d423bb380 std.c: add setsockopt
0e67568bc net: fix Options
4a4d2c0d8 os: add setsockopt
631eb6783 add StreamServer.Options.reuse_address
73e535e11 Merge pull request #3683 from Vexu/atomic-float
cbfd66f68 Don't crash when parsing invalid files
a05150e92 fix comparing comptime_int against undefined literal
a3d04b922 update readme tagline
8f8a32d29 Merge pull request #4007 from daurnimator/json-cleanup
28a8ded95 Resolve more types as needed
c1ee846c2 Fix ptrCast of zero-sized type
34b4538d7 Merge pull request #4011 from lukechampine/chacha20poly1305
ab093228f Fix segfault by not reassigning to function parameter
d1a570a4b chacha: Fix open docstring
d6ca2323c chacha: Use error set instead of bool
1953b6059 chacha20poly1305: Return false on short ciphertext
ae7bb4ecc chacha20poly1305: verify tag in constant time
fbe7d8c1c crypto: Add chacha20poly1305
42727c73f std: fix typo in comment
ef3a01a36 std: json.unescapeString doesn't need to take an allocator
04a2a4a7c std: track decoded string length in std.json tokenizer
0def92cff std: use enum literals in std.json
80d37a13c std: use a union(enum) for std.json.Token
51943ff43 std: meta.TagPayloadType takes the tag type of the union
17cc511ea std: fmt std/json.zig
c70a673c6 array literal address of fix
e0c7d1204 update std/json.zig to latest language changes
fb2f0cc49 ArrayList: ptrAt function returns pointer to item at given index
54231e832 Merge pull request #3648 from xackus/json-unescape
6af39aa49 Fixes #3966
6b960331e Merge pull request #3968 from daurnimator/sigprocmask
950eb8130 translate-c-2 macro comparision ops
ca211617b update c_tokenzier tests to new api
6df9e9fe4 Cleanup c_tokenizer.zig tests
fcc82a219 Add macro ops
55348c9b9 translate-c-2 bug fixes
621629e20 translate-c-2 fix assertion failure rendering do while
f5e7d2d00 translate-c fix bugs
59cc7072e translate-c-2 use `intCast` in most places
1a3633d78 fix stage2 build
3f7bab737 fix translate-c taking ages
fceda07f9 use self hosted translate-c for cimports
bda355d97 Merge pull request #3992 from ForLoveOfCats/BigIntToStringLeak
2662e50d2 std: sentinel terminated pointers for utf16 apis
cb0212541 Merge pull request #3987 from daurnimator/std.unicode-fixes
48bf00bf3 Merge pull request #3993 from Vexu/translate-c
1e52b7d69 translate-c-2 improve macro errors
aea46dcd7 translate-c-2 macro conditional operator
b28824ef6 Add missing deferred deinits to `math.big.Int.toString` (mem leak fix
68aa22199 Merge pull request #3986 from LemonBoy/translate-c-stuff
6c3ccea29 Make it more obvious that ifs are expressions
edb5deb39 std: unicode codepoints are 21 bits
ab6065407 std: simplify utf8ToUtf16Le
5843a6e3b std: optimise utf8ByteSequenceLength
8b72eedc7 std: add warm up phase to benchmark
a81c0ba2e std: fix unicode encoding of astral plane codepoints to utf16
6070ffc28 Fix crash with forward-declared enums
a38704d01 Fix crash in translate-c w/ parameterless fn
225295106 disable test on arm
ab7fc33c8 add zig llvm wrapper for atomicrmw
8bb1e0444 support some atomic operations with floats
25e71216c Merge pull request #3974 from kprotty/event_broadcast
1c5a1284e typo fix
b8fabb342 ResetEvent: broadcast by default
ad9222751 report compile errors instead of crashing when frame is invalid
28dbdba37 Merge pull request #3935 from Vexu/translate-c-2
9d31b65b3 translate-c-2 various fixes - make non-namespaced enums ints - fix .used compound assignments not being grouped - fix macro calls with casts producing invalid Zig
95c83388e std: use pid_t where appropriate
59348240d std: use wrappers from raise() rather than raw syscalls
6de4bd850 std: add tkill and tgkill for linux
c31afc373 std: remove high level linux sigprocmask wrappers
9577ff1c9 std: use simpler sigset_t definition
ba1d213f4 freebsd: add missing OS and libc bits
96c9c38b3 std: sigprocmask set is optional
bc95c63cf Merge pull request #3940 from ziglang/sentinel-slicing
290dc5d95 zig fmt support for slice sentinel syntax
ce444771c fix incorrect `@typeInfo` for sentinels
45339aec0 Fix wording on deinit.
8d73703d5 fix safety for sentinel-slicing floats
8918cb06f sentinel slicing improvements
26f3c2d06 fix std.mem.addNullByte and implement sentinel slicing
40f607d19 translate-c-2 fix macro regression
51cbd9682 Fix sentinel value of opaque pointers in typeInfo
f077c3c4c Fix comptime evaluation of runtime array access
9daa7e1e1 CI: update llvm apt sources to correct ubuntu version
949f2369c translate-c-2 fix bugs found translating SDL
9437d99ae translate-c-2 final small fixes
e0046b737 translate-c-2 improve macro escape sequences
daeb93921 translate-c-2 fix switch range
33b5dbb82 Document std.Mutex.
d172a7335 translate-c-2 copy parametrs to stack
b7f18164f translate-c-2 add missing casts
61482be15 translate-c-2 improve macro fn ptr caller
f837c7c9c translate-c-2 compound assign
6cd402f1b translate-c-2 increments worst-case
809deb6ec translate-c-2 unary operators common case
e4c47e80b translate-c-2 unaryexprortypetrait + fixes
122a9bad3 translate-c-2 fix some casts
d54c288bd translate-c-2 function calls
c2666c48a translate-c-2 array access
cf7a5b7a4 translate-c-2 member access
e65b9e8f7 translate-c-2 stmt expr
62bfff5e8 translate-c-2 fix expression grouping bugs
f54e7d6c9 translate-c-2 update @kavika13's work to removal of TransResult
90eed4172 Merge remote-tracking branch 'kavika13/master' into translate-c-2
4d54e9a4f Merge pull request #3918 from kprotty/lock_fix
21bc3353b translate-c-2 character literals and more test fixes
c91229644 SpinLock: loopHint & yield distinction
26e08d570 ResetEvent: use futex on linux when possible
ac5ba27c2 Mutex: fix lock/spin bugs, improve perf slightly & more specialization
e67ce444e ResetEvent: simpler interface + fix tests
947db7862 Spinlock: remove Backoff & improve yielding
6d7025d0c translate-c-2 various fixes to get more tests passing
d8499f7ab Make sure the fields array is always non-null
f389e5e61 Clarify allowzero's interaction with optional pointers.
62c817420 [#3844 + #3767] update std.c and std.os.linux to use null-terminated pointer types (#3900
a6960b89e translate-c-2 fix container type resolution
65531c73a translate-c-2 switch
0283ab8a1 translate-c-2 conditional operator
daa22d42b translate-c-2 floats
9cda93a24 translate-c-2 don't shadow primitive types
b242c2ac1 avoid using undefined value
ab6fe5746 translate-c-2 for loops
d54bcb2b6 translate-c-2 break and continue
b1abe4a17 Revert "added -- to pass args to zig build commands"
744133acb Fixes utf8ToUtf16Le (#3923
d4e56ae6a added -- to pass args to zig build commands
13cdc137e Merge pull request #3570 from ziglang/c-sanitize-undef
de0d8885b Fix alignment query on unresolved types
6a3d48353 translate-c-2 while loops
839b3a61a expose the ability to disable C sanitization
f8cd981c0 use -fsanitize=undefined for C code in safe build modes
170de5eca generated docs: log trace instead of error
cb5a5ebb2 langref table of contents in a separate column on large displays
b3cbf290c remove misleading documentation
496f271d1 Merge branch 'shawnl-lessThan'
1cad0acc7 add behavior test for vector comparison
e3f1bfe48 translate-c-2 if statements
626562555 translate-c-2 wors-case assign
d9527edfe translate-c-2 comma operator
9468d6381 allow comparison of any numeric types
fe0e8c87b Tokenizer: Copy optional tokens prior to being set to null #3737 (#3910
0f09ff492 Merge pull request #3916 from Vexu/translate-c-2
650acc5e3 Merge pull request #3922 from LemonBoy/eventfd-err
04dc0bd0e translate-c-2 variable aliasing
9d9b0720f Fix for the error codepath in ChildProcess
c257f892f Revert "Revert "Use eventfd in ChildProcess on Linux""
0c03fe48b Fix compile errors after rebasing on master (missing switch->else
89ef635b3 Add boolean and, boolean or binary ops in translate-c-2
acff2d407 Add bit shift binary ops in translate-c-2
c8c89648b Add comparison and bitwise binary ops in translate-c-2
a37caaa52 translate-c-2 parameter name aliasing
143603b39 std: lessThan and greaterThan between signed and unsigned
2c7a2aefb Revert "Use eventfd in ChildProcess on Linux"
620bf695e organize tests
0f38410ea improve extern enum
ab60c8e28 c tokenizer escape sequences
9f0e83a57 translate-c-2 macro functions
59de23dfa Don't assume TLS storage has a fixed address
b169f7b0d Use eventfd in ChildProcess on Linux
f1407b4b7 Generate the fn pointers into the correct address space
19ddbd9e9 Make sure the address is aligned for intToPtr ops
ed2a19dce translate-c-2 macro cast
57170f9eb translate-c-2 macro inline fn
75218d476 translate-c-2 macros
c3724a6e7 translate-c-2 c tokenizer
cf0d300dd Merge pull request #3908 from Vexu/translate-c-2
e57e3602e translate-c-2 implement enums
1a967db08 add default initializers to all ast.Node base values
33d9dda55 Merge pull request #3906 from Vexu/translate-c-2
1f8458683 translate-c-2 avoid collisions with zig keywords
4dae70e70 translate-c-2 container aliases
a4ac6d15c translate-c-2 array initializer expr
e4ca1f441 translate-c-2 record type
21a85d4fb Merge pull request #3896 from Vexu/translate-c-2
45abfa9e7 revert removal of translate mode in stage 1
41a67126a translate-c-2 typedef
eb057ef41 translate-c-2 dont eval init expr
e54c49be9 uncomment a now-passing behavior test
1e4bae669 update stack traces tests
4cb4148b3 Document sentinel type in langref
7699b5b99 Merge branch 'Xe-expose-callMain'
fff3c1fff un-special-case startup code in the std lib
b37acc4d6 allow custom OS entrypoint
81f1f7219 ci: skip non native tests for aarch64
0795f17db translate-c-2 incompleteArray
48ac84db1 translate-c-2 translate apvalue
c759a77aa fix dot init parsing
3bca02509 update tests
ef361161e translate-c-2 add var decl
69dee57d9 remove concept of translate mode
d08dc2111 Merge pull request #3886 from kavika13/master
b375f6e02 lib/std/io: let the bring-your-own OS package handle stdio (#3887
12171dba9 Add function parameters to self-hosted translate-C
5e8186a8c Fix access of undefined field when calling ast.Tree.dump
fe415dae0 Add paren expression statements to self-hosted translate-C
3e4f5de33 Add rem binary operator to self-hosted translate-C
79fe7e651 Add mul and div binary operators to self-hosted translate-C
7c1dbfab7 self-hosted: manually parse args
c3d8b1ffe remove iterator API from std.ArrayList
f30af12be Add hotpath for BufferedOutStream (#3858
5ada11449 fix con_in difinition and add EFI_SIMPLE_TEXT_INPUT_PROTOCOL difinition
0d99744ac Merge branch 'emekoi-dynlib-load'
fdc313212 fix windows dynamic lib loading test
3ef8460d0 fix load dynamic library API when linking libc
80882bda5 load dynamic library test: update API usage code
fd6b7b160 improve dynamic library API
29fd727b7 fixed windows dynamic library loading and added loading for darwin
9561e7c6b Merge branch 'Snektron-typeOf-to-TypeOf'
30715560c Rename @typeOf to @TypeOf in the language reference
8c096707b Additional replacements of @typeOf with @TypeOf
4b4fbe388 Replace @typeOf with @TypeOf in all zig source
f0ee0688f Replace typeOf with TypeOf in stage0
c519bb02d Fix usage of freed memory in zig fmt
d568db238 Remove misplaced dot
23b901d45 Add typeOf/TypeOf render test
20a3011de Add typeOf/TypeOf substition in zig fmt
cd4d638d1 Merge pull request #3830 from fengb/wasm-page-allocator
c27d06596 fix integers parsed as floats
3388c777f print call in build.zig needs to use a tuple argument
2a7103ca3 ci: update macos to fresh llvm+clang tarball cache
e6c01e49d remove no-longer-needed workaround for var args
a3f6a58c7 remove var args from the language
f205d23e6 implement async function call with `@call`
69b587c1d add regression cases for now-passing tests
5d82744f1 ability to give comptime and non-comptime types to same parameter
640e09183 Merge pull request #3873 from ziglang/format-no-var-args
8b3c0bbee update docgen to new format API
d571fad20 update tests to new format API
03396b3ca update docs to new fmt API
5f9467d78 update formatted printing when linking libc
7a4f70425 windows-specific fixes
fe4963412 update self-hosted compiler to new format API
8b2622cdd std.fmt.format: tuple parameter instead of var args
5874cb04b implement tuple concatenation
608d36ad8 Rewrite WasmPageAllocator tests to be less flaky on environment
6504c5098 tuple detection does not require AST node
d5e788072 Make array types (quasi-)lazy
1cb19d1a4 fix anon struct literal field initialized with fn call
c2342dab0 fixed BREAKPOINT macro on mingw
d57370d3c Merge branch 'comptime-fields'
64d700bfa zig fmt: support comptime fields
fe8d65556 add syntax for comptime struct fields
119ed128c implement comptime struct fields
19c1b5a33 Fix for @Type not picking up the sentinel value
05fc4d34a documentation for mutable HashMap KV pointers
edebe0586 remove compile error for peer result comptime_int and null
e91522b87 Add back comptime check for wasm
ecb77af53 add regression test for fixed bug
80a72c225 Crypto benchmark fixes
008e42f48 getStdOut fixes
5a004ed83 Actually use `const conventional` as the comment indicates
525b1e8fb Merge pull request #3856 from ziglang/builtin-call
656cc33f8 allow calling with a new stack to regress a bit
71b7f4b47 remove `@newStackCall` from zig
343987cd0 remove `@inlineCall` from zig
d28aa38db Merge branch 'LemonBoy-fix-3842'
b1895da9b add behavioral test case for previous commit
f64cff3e1 Fix misinterpretation of sentinel constant value
e41495de9 private linkage for unnamed internal constants
eb495d934 Add WasmPageAllocator tests
105ef560b Merge pull request #3853 from xackus/doc-fixes
f2b0dbea7 Resolve tests to work with or skip WasmPageAllocator
694616adb Standardize around bigger slices
7d1c4fe4d Switch bitmask to enums
ef83358eb remove `@noInlineCall` from zig
1f602fe8c implement `@call`
cb96a096c docs: fix duplicate closing tag generation
71354498c docs: add html lang and minor fixes
ba78d71b0 docs: fix assembly example
bfb15f1c9 fix casts
1baaf9a50 Increase io.BufferedInStream readByte speed by ~75%
8829b5316 Merge pull request #3849 from Vexu/fix-fmt
d40ad9266 use enum literals in render.zig
10cc8cad8 fix zig fmt of c pointers
30da6d49f Fix freeing memory across bounds
86ae75363 Strip out an unnecessary memset
5784985bb Use raw PackedIo to shave ~150b
a910a6c87 Rejuggle how offsets are calculated
bef3769bb std.fmt.ParseUnsignedError is now public
10e172b1d add `other` OS and fix regression in build-exe for freestanding
44e896f61 Merge pull request #3844 from Snektron/sort-improvements
137cb32f5 add docs for function parameters
841a37ab5 Add std.sort.argMax and std.sort.argMin
0159fa284 Make std.sort.min and std.sort.max return ?T
65f57e449 Make std.sort.max accept const slices and add tests
6bb0ee0bc Add std.sort.isSorted
a6f838aab Remove redundant alloc
01e73bba8 Tighten recycled search
baffaf798 Extract setBits
b33211ed5 Implement block-based skipping
38791ac61 Merge branch 'Vexu-build-start'
521744bb9 correct the calling convention of WinMainCRTStartup
e3ebaab3c fix `zig builtin`
8db4d2332 correct startup logic for exporting libc main
a91f55239 WinMainCRTStartup implies defaulting to console subsystem
6a046c1bc activate start code when pub main exists
ffd21c586 fix tests
621c08e69 exported main must be pub
20bcdab46 correct caching and add test for missing fn name
a0ca30ce0 move more startup code to std lib
fd7c7be33 Pick up WinMain with proper CC
0d48b6079 Merge pull request #3837 from yvt/patch-as
29f25cf05 Update `process_headers.zig` to use `@as`
3c6c31742 Update the docs to use `@as`
45e044127 Fix bugs
26c8930b9 Accept comptime-known expression for asm
b7be57766 Merge pull request #3715 from daurnimator/towards-afd
55202a021 add missing license files
6a36c549a add extra LICENSE file for clarification
ad214c7aa bring your own OS layer in the std lib
dcbd5ad15 remove upstream support for Zen hobby OS
f32555aa0 Work around __heap_base for now
ba38a6d12 Get stuff vaguely working
eb1628b03 Initialize memory segments
eff926b45 Brain dump new wasm allocator
fc1373a85 ci: update sr.ht to use alpine/latest, more reliable
b6127b0fe add some null-termination annotations
6d8550a7d fix crash assigning optional struct with anon literal
fecd54082 Merge pull request #3787 from ziglang/remove-array-type-coercion
e7ee6647a fix invalid check for fn_inline property
3644e8509 fix regressions on windows
37caa56fb fix docs regressions
c32e50f50 fix regressions in compile error tests
4af5c3867 fixes for self-hosted compiler
080316cd4 fix assigning to an unwrapped optional field in an inline loop
c2cee40ae add advanced IR debugging support
8524404f7 this test isn't passing in master branch either
78811ff4a Merge remote-tracking branch 'origin/kill-ConstGlobalRefs' into remove-array-type-coercion
b36c07a95 Merge remote-tracking branch 'origin/master' into remove-array-type-coercion
4b6740e19 sometimes free stuff from Zig IR pass 1
b5df18c8f inline ConstGlobalRefs into ZigValue
5026b1aad free IrAnalyze sometimes
951dc451d Merge pull request #3808 from LemonBoy/i386-for-ya
11b8d3ce9 Merge branch 'std.fs.File'
2e7350140 further clarify std.fs function docs
034ccb4e4 add missing error code handling on Windows
cdeafe777 Eat shit and die mips
413f9a5cf move `std.fs.Dir.cwd` to `std.fs.cwd`
6f105b5ae Implement target_dynamic_linker for mips
d039fed83 introduce std.fs.Dir.openFile and std.fs.Dir.createFile
d0c6728d5 Eat shit and die glibc
e1e06e676 linux-i386 support
85e1e3b95 Merge pull request #3284 from Sahnvour/export_variables
b220be7a3 more test regression fixes
f980c2930 fix typo in error note for integer casting
d87b13f2f fix windows std lib regressions
6936243ee fix self-hosted compiler regressions
7278c51dd fix empty result location for parameters not working
559bd27b0 fix `@bitCast` result coercing to error union by returning
815b4cfd9 fix return result loc as peer result loc in inferred error set function
a438a615e docs: this statement was in the wrong section
2ab7f31e9 std.math: remove constants that should be expressions
bcdb3a900 more progress
a6c9c5f76 implement correct buffer wrapping logic in std.event.Channel
ca61a5f0b Windows: fix test/standalone/shared_library
f0d644756 Implements std.testing.expectEqual for tagged unions. (#3773
0f2a9af4a Merge pull request #3769 from MCRusher/initcapacity-for-buffer-arraylist
83c664eaa Merge pull request #3780 from Vexu/stage2-async-review
bf3ac6615 remove type coercion from array values to references
4d8a8e65d add more workarounds
63300a21d Merge branch 'kprotty-event_lock'
8a71f77c4 std: lie about windows socklen_t signed-ness
edc84e7ef std: add more winsock functions
19f26578c std: windows sockaddr constants come from ws2_32
8aa3d6019 std: add windows.USHORT definition
254c79125 std: fix WSAIoctl definition
d99f0a2b8 std: IO_STATUS_BLOCK's status member is an NTSTATUS; add union
1537d4701 std: fix definition of NtDeviceIoControlFile
a453c99ba std: add comments for some nt status codes
2c6788d7d std: add windows.closesocket
6b5b0e6cd std: fix windows.GetOverlappedResult
ce9966a39 std: improved windows.DeviceIoControl
b05a5a3e5 std: add CreateEvent for windows
78c0d33eb std: add WaitForMultipleObjects for windows
21ca54f56 std: add alertable argument for windows.WaitForSingleObject
ff445814c remove wait timeout test cases
056b5a26c ResetEvent: get abstime based on std.time
ca2d566ec replace ThreadParker with ResetEvent + WordLock mutex
a0955990d fix ResetEvent windows bugs
ef208fee3 Definition fixups & ResetEvent test cases
9bce97a47 Start on ResetEvent
8ecd6c4d8 add compiler note for bad int coercion
a6ef83ccc Fix build system crash when compiling windows dll
0d55075de fix command functions not being async pointers
798d05dd0 add workaround for #3190
379d54760 add missing cast to generic function call result
0e405c5fc add missing cast to call result type
7de138ad7 std.elf: breaking improvements to the API
aca136753 Optimize binary search algorithm
128034481 solve recursion in self hosted
36849d8a7 fixes and cleanup in self hosted
76f21852f Merge branch 'gereeter-o_path'
ec569ff26 Or in O_DIRECTORY in openDirFlagsC to capture the fact that it is intended for opening directories
8baf226d6 Add missing shortening of os.windows.
4014a8e4b Avoid deprecated cwd-based functions for opening directories, preferring to open explicitly relative to `Dir.cwd()`.
001334266 Don't pass `FILE_LIST_DIRECTORY` in `openDirTraverseW`.
51c574087 Use a specific access mask in `Dir.openDirListW` instead of a generic one. Untested.
07120c874 Use `O_PATH` where available in `std.fs.Dir.openPathTraverse`.
17bc1f62a Split `std.fs.Dir.openDir` into `openDirList` and `openDirTraverse` to clarify what directories can be iterated. Closes ziglang/zig#3741.
f96d81877 Merge pull request #3776 from mikdusan/stage1-intern-housekeeping
c0cb67674 std: refactor std/debug.zig DwarfInfo operations to be methods
d20df7df0 stage1: fix bad intern counting
f8a2dec24 docs: update references to wasm_allocator
6b7e1085e Merge pull request #3774 from mikdusan/stage1-intern-housekeeping
fe254ea30 stage1: avoid building empty memory_profiling.cpp
80f79cc9e Merge branch 'fengb-wasi-run-tests'
4261fa3c4 move logic to the appropriate layers; add new compile error
659c1bdee Merge branch 'wasi-run-tests' of https://github.com/fengb/zig into fengb-wasi-run-tests
cb38bd0a1 rename std.heap.direct_allocator to std.heap.page_allocator
6c89f96df stage1: consolodate interning
35d65cceb Merge pull request #3502 from mikdusan/stage1-mem-diet
a647a88df const interning for 1-possible-value types
8f3e972da unembed ZigValue from IrInstruction
acd95546b rename ConstExprValue → ZigValue
6b241d7b5 ci: --no-mime-magic
bdf3680be zig fmt
8a4c2d3b0 zig fmt fixes for sentinel-terminated pointers
a061ef42c Merge pull request #3761 from Vexu/event.fs
7dba5ea9c update event.fs.watch
5a98dd42b Merge pull request #3728 from ziglang/null-terminated-pointers
69b780647 std: update for linux 5.4
321726465 fix freebsd regression
d2cb740dd add missing null terminator in windows file path helper function
29e438fd1 more sentinel-terminated pointers std lib integration
15d415e10 make std.mem.toSlice use null terminated pointers
34b1ebefa Merge remote-tracking branch 'origin/master' into null-terminated-pointers
b9f88c355 fix compile errors for array sentinels mismatching
ce96323ba update cli test
7eb5acdc8 fix casting `[N:x]T` to `[N]T` memcpying too many bytes
217a5090f fix compile error regressions
8309b6188 Merge pull request #3644 from daurnimator/bytefifo
1a84bcefb std: fix mismatched doc-comment/argument names in fifo.rewind
94485b2a5 std: clean up fifo.readableSliceMut
b4091e3ae std: fifo.deinit didn't need to take a pointer
3062e0e93 std: add fifo.writeItem
c393969a2 std: fix bug in fifo.unget if rewinding doesn't wrap around
61179a4d5 std: follow zig standard library convention and have fifo.read number of items
6037f8921 std: fifo rename from FixedSizeFifo to LinearFifo
cd749e041 Slice and Dynamic, std: fifo now has 3 modes: Static
c0e47cb64 std: fix fifo for non-u8 types
e810f485a std: add optimization to fifo if size is power of two
01b2a5622 std: move auto_align constant to top of comptime function
52645d06e std: fix unfinished doc-comment in fifo
c96d56516 add compile error for incompatible pointer sentinels
401803470 add test cases for arbitrary pointer sentinels
09ec720da fix comptime `@ptrCast` of pointers to arrays
6ebd26f3d removed unnecessary backslashes in windows' libc paths
696567d9d export: check variable type
912c1c24c simple test for exporting variables in static libs
1bde3b682 gen-h: register the need for stdbool.h and stdint.h when exploring types recursively
49156e398 gen-h: add a pass for exported variables
104b6f162 refactored gen_h_file to improve maintainability and output
f7574f44c add test for struct with var field
44b1dc6db add type coercion: [:x]T to [*:x]T
eea8b1046 Call DllMain entry point if declared
6109e49c5 Fix FixedSizeFifo buffer type
2b1faa1f2 Merge pull request #3748 from Vexu/modernize-stage2
20f5f5698 uncomment event.fs.watch
ab534cc9f update event.fs to use global event loop
0cbf00a3e self hosted compiler: final small fixes to get it compiling
4c7b52503 all tests passing
17abb7ef7 Adds initCapacity() to buffer and arraylist
d49e0a7b9 Added initCapacity, and 2 tests., capacity
10e6cde08 Added initCapacity and relevant test
2dd20aa04 langref: update for sentinel-terminated types
00878a15d zig fmt: support sentinel-terminated pointer syntax
f25182f46 structs can have fields with type `var`
010494d8a only test stage2 on linux
89310dad5 Merge branch 'master' into modernize-stage2
b9ef36094 re-enable stage2 tests
6c64f079f add workaround to child_process.zig
d40f204ec self hosted compiler: small miscellaneous fixes
29d7b5a80 remove UTF BOM
7fa59565d fix small regressions in std.event
133579d7c fix casts
03cc81665 Merge branch 'master' into modernize-stage2
7597735ba update the stage1 implementation to the new proposal
ad0871ea4 Merge branch 'Vexu-missing-cast'
4e6c1b676 add cast to not hit #2561
4d9318cee fix missing implicit cast in return instruction
0b6357367 improve broken llvm module error message
0e8a53514 add missing error set to ChildProsess.SpawnError
94299d16d Stage1: Add compile error for an empty switch on a integer
6b623b5ea update docs for null terminated stuff
fd6020c4e better error messages, update self-hosted tokenizer, update tests
cf2fe2536 better error message when null termination does not match
47f06be36 string literals are now null terminated
21f344b3b add null terminated pointers and arrays to self-hosted
1aa978f32 implement null terminated pointers
e3404e3c7 Merge branch 'std.fs.Dir.openRead'
cd5f4de2a std: remove O_LARGEFILE from OS bits when the OS does not define it
0f0d01a03 Replace magic numbers with named constants
bf1cbebea improve std.fs.selfExePath and related functions on Windows
cd37c1a37 add std.fs.Dir.openRead
874b34a30 self-hosted tokenizer handles \r in string literals
ed619245e remove dead code shebang support from self-hosted tokenizer
d27721f58 Add .enable_wasmtime build flag
218f9ff34 Work around WASI's nonexistent @returnAddress(
b88bb93af WASI isatty
14e9c7d1f WASI clock functions
c3d93cd9f WASI time_t / timespec
747529e96 Use wasm_allocator
ad77e9341 std.testing.expectEqual: show differing pointer values
b3539b40a add `std.math.tau` constant (equivalent to 2 * pi
aa4e92f3b Make StreamServer return address of accecpted client
ed956b581 translate-c: add support for MacroQualified definitions
0c33ebb38 add regression test case. closes #2980
9eed0d360 add regression test case. closes #2889
828abe046 add regression test case. closes #3007
21aed86a4 add regression test case
4dd3f4297 Merge pull request #3695 from daurnimator/towards-afd
57b8614a5 Merge pull request #3697 from Vexu/container-docs
4e28d7a5f fix bug on empty error union
8e3370367 Merge pull request #3705 from daurnimator/fix-std.valgrind
924dd674e Catch invalid type from peer resolution
6cddf9d72 properly parse anon literal in array
d870a68e6 std: add a couple of tests to valgrind module
7d582d0a0 std: fix missing @ptrToInt in valgrind.memcheck
41c72bb54 std: fix use of old syntax in std.valgrind.memcheck
cc76494c4 std: use enum literals in valgrind module
4a3bb557f std: fix outdated valgrind module
314cb707f fix containerdoccomment not handled in docgen.zig
977b61388 add container doc comments to generated docs
e509d21f3 implemented container doc comments in stage 1
431eeb5e2 std: add pieces for WSAIoctl on windows
3b8afe31a std: add NtDeviceIoControlFile definition for windows
6469900e7 std: add WSAStartup and WSACleanup for windows
8c4784f9c remove no longer correct comment
a11da3773 Update discriminant value also for zero-sized unions
b92f42d1f implemented container doc comments in stage 2
d89f39d71 rework layout of struct type fields
f2f698a88 removing 1/2 hacks, rework comptime struct value layout
4cf535a01 std: add WSASocketW for windows
d9d3268cc std: add DeviceIoControl and GetOverlappedResult for windows
f4c6cc327 std: add winsock some definitions
a832b35c1 std: add windows socket constants
be86e41d9 std: add CTL_CODE function for windows
483041507 std: add FILE_ANY_ constants for windows
0270545ed std: add windows ioctl transfer types
ef6cec983 std: add windows FILE_DEVICE_ defines
b83ce08a3 add compile error for @atomicRmw on enum not being an .Xchg
c806de8ae README: update the short description of what zig is
0237e7a70 std.io.getStdOut and related fns no longer can error
8bae70454 Merge pull request #3675 from Vexu/atomic-store
32b37e695 fix anonymous struct literal assigned to variable
37318bf15 fn parameters participate in result location semantics
41914321b fix comptime atomicStore and add tests
f0c94d95d use @atomicStore in std lib
110ef2e52 add @atomicStore builtin
956ba8b0e Merge pull request #3447 from Sahnvour/vcpkg
e32b4829f Merge pull request #3670 from Vexu/atomics-enum
710ccacfa fix assertion failure in ptrToInt
5194fc57d use enum with atomics in std lib
7e5b234b8 support atomic operations with enums
45d2fd9b9 fix assertion failure in init_const_undefined
bf8870a60 fix unresolved type making it to codegen
5502160bd Merge pull request #3652 from ziglang/anon-container-lit
0c315e7f7 update docs for anonymous struct/list literals
b9482fc32 implement fully anonymous list literals
a33b9aec7 add test for missing const in slice with nested array type
ca2a788a2 fully anonymous struct literals
6d3b95a70 Stricter tests for non-streaming parser
f9b7d6d75 Fix bugs in JSON parser
371747d8f json: surrogate pair support
1bca8e693 fix anon literal used with return result loc
d4e6a6d5e zig fmt: support anon struct and anon list init syntax
725b6ee63 add behavior test case for anonymous list literal syntax
b4ad3e71a add behavior test case for anon union literal
5b2794349 implement anon struct literal syntax
de30438ed stage1 parser code for anon container lit
739f71610 minor fixes
ae0a219d1 stop accepting deprecated `use` keyword
cd5c9c899 Fix missing @as cast in std.fmt.formatInt (#3650
f6d124418 Fix and document
6d0cdf7cd Unescape JSON strings
d44a69689 std.ChildProcess.spawn has a consistent error set
891e2149b Merge pull request #3635 from lun-4/unify-unix-sockets
c8a8da280 remove builtin.os check in Address.initUnix
d1eabe81a add sockaddr_un to os/bits/windows
d99ecef94 replace panic to unreachable
2d02920a9 use hasDecl instead of switch on builtin.os
98e37537d minor fix due to recent directory handling API changes
25423eb45 add errors/panics for unsupported OSes
e4704f68f use at-as
fc2e8f92b Merge remote-tracking branch 'upstream/master' into unify-unix-sockets
348c0232a miscellaneous fixes
d18b5f8b5 Fix initialization of union references
05ae21b78 make StreamServer.listen family-agnostic
f4d8dc278 rename TcpServer -> StreamServer
def5462d0 build: initial support for using vcpkg libraries
c2325053a add Address.parseUnix and Address.format support for AF_UNIX
8c8078513 missed cast in std/target.zig
6d5abf87e Merge pull request #3628 from ziglang/as-builtin
9458620e1 replace Address.parse Address.parseIp
5d05cfcfe add Address.unix, rename IpAddress to Address
f7b1e0215 fix type cast in windows child process code
3cf5c2c62 fix regressed tests and update docs to use "type coercion"
3834d3dac passing std lib tests
aef04aff0 initial docs for `@as`
aa0daea54 update more of the std lib to use `@as`
a2acc2787 behavior tests passing
8954a1bae more regressions fixed
fa34dfcce fix result loc of cast not finding parent
e0db54e89 update the codebase to use `@as`
2a6fbbd8f introduce `@as` builtin for type coercion
6d28b28cc Merge branch 'kprotty-adaptive_lock'
2723ffc2b fixups and zig fmt
fbbcf2f30 Merge branch 'adaptive_lock' of https://github.com/kprotty/zig into kprotty-adaptive_lock
e2189b6e5 cleanup getEventHandle
43900011f handle NtCreateKeyedEvent failure by spinning to ensure correctness
9b0536e6f ci: add srht oauth token to drone cloud script
fe8c1cf80 missing `os` declaration
bb4abfdc7 Use `system` instead of `builtin.link_libc`
12e68cbeb pthread_sched_yield -> sched_yield
86d9563d1 self hosted compiler: various small fixes
f41e58d01 fix SpinLock.yield for pull/3626
b5d84635f remove WaitOnAddress backend in std.ThreadParker
b535e86cc move SpinLock definitions around
e2a0bea65 ci: bump ubuntu from 16.04 to 18.04
bca672372 self hosted compiler: move functions to util.zigto avoid defining llvm instricts.
459a364a3 allow Group to optionally manage function frames' memory
3858a526e make callMainAsync async
92dac89d0 lock the mutex on pthread_cond_signal(
56ea07f4f self hosted compiler: comment out event.fs stuff
7a2433419 self hosted compiler: small fixes to imports and declarations
c6076a136 self hosted compiler: use enum literals
700031611 self hosted compiler: fix calling convention in type.zig
9394d1481 self hosted compiler: unify Target and std.Target
6dd4a276d self hosted compiler: update to new std.event
110e57549 self hosted compiler: replace Promise with Frame and AnyFrame
cb2009361 self hosted compiler: remove await async pattern
b06e5b8c6 self hosted compiler: fix internal build info
8edf27343 self hosted compiler: fix zig_llvm.h function signature
2e52fafac correctly use llvm undef in release modes
697c4ffd4 Merge branch 'LemonBoy-fix-more-things'
cf6fb89ce Add small tokenizer test case for #3468
528908a06 Fix ptrCast of array references to fn
c7fd414da Merge pull request #3618 from nrdmn/uefi
78b54d9c9 std/os/uefi: protocol handling improvements
cef51eaff and udp6 support, ip6, mnp, std/os/uefi: snp
f4767186d std/os/uefi: loading images
6ee3cabe5 allow type coercion from *[0]T to E![]const T
7045f1e87 skip std.ThreadParker test on single-threaded
727767084 Add error when too few arguments are provided to std.fmt
f81f36e2f std.json.Value: added dumpStream(), utilize WriteStream for dump(
ac6f0d245 fix NodeErrorSetDecl rendering
4530adbd3 use global event loop in std.event types
913f7d045 improve the start code for evented I/O
c1e8fdf81 add token for parsing pointer dereference
dd4e9fb16 Fixed a leak in the json parser.
6b61fcddf fix translate-c arrow deref
4dbfc48ab Disable asm("yield") for arm in SpinLock.yieldCpu() because of CI
c9db420a0 Adaptive Mutex: - uses std.ThreadParker - supports static initialization (deprecates StaticallyInitializedMutex
465ebf494 ThreadParker implementation
14209cf61 make SpinLock.Backoff pub
9bc4f8ea7 zig build: addIncludeDir does -I instead of -isystem
cb8af1c6d Merge branch 'vector-element-access'
9a08de93b fix incorrect type name on bit field pointers
9b4a52916 fix initialization of vector in a struct field
cbaa10fc3 implement storing vector elements via runtime index
70be308c4 implement loading vector elements via runtime index
76d188551 implement store of vector element with comptime index
ece8d6c2f comptime load of vector element
55e54d98c runtime load vector element with comptime index
a26e9fa72 add special formatting for ipv4-mapped ipv6 addresses
71e209521 Mark type fields as CT
4e9ab0306 Merge pull request #3587 from LemonBoy/fix-things
1c22cb5e5 fix noreturn function that may return.
55685ae78 remove duplicate isNan implementation
3d907b294 crypto: Add support for AES-CTR
84e370d0b Move hybrid yielding into its own struct
0d4f4aad9 adaptive SpinLock
1657bead4 std: Add fifo useful for buffers
42ccdc276 Replace AES variables to constants
ce70a9be2 Merge pull request #3589 from Vexu/ipv6-improvements
6c1728206 std.os.read can fail with ConnectionResetByPeer
aaf50970a Merge pull request #3574 from lukechampine/aes
9170dcb73 Fix #3558
c47211cc6 Prevent crash when slicing undefined ptr to slice
2b4bf1e7c Fix crash in #3483
61825062a Correctly process errors for invalid types in fn call
c8b6e5529 Make the `leb` module available to non-std code
eb95afbc6 remove speculative AES TODOs
5db77e3c6 Merge pull request #3588 from daurnimator/tiny-std-fixes
52207f22d Add karatsuba to big ints
6e786b60d support ipv4-mapped ipv6 addresses
32ac1b592 improve ipv6 parsing and formatting
c8463ce9b std: Add definitions for (deprecated) futimes and utimes C functions
6e635c640 std: close is OSX specific
2f740fa19 Fix cmpxchg trying to execute at CT
711520d93 ci: workaround PATH apparently not working
bb6ad1a6c Remove StaticallyInitializedMutex
b7747653f ci: more fixes for update_download_page script
0860b1919 ci: work around pip install permission denied
1a820067d ci: hail mary running git.exe in the windows bat file
96984e303 ci: avoid leaking oauth access token
629b91da6 ci: use heredoc and alpine/edge for faster sr.ht job
5001faa69 ci: stop assuming that azure will complete last
10046f9a5 stage1: add linux XDG Base Directory support
2e0dd5733 add FileNotFound to os.ConnectError error set
d535bf2c7 add FileNotFound error to os.connect
f749bf094 poll, recvfrom when linking libc, std.os: fix sendto
f403aa6ce crypto: Add AES implementation
d6dec8026 startup code respects root source file's event_loop if present
081c62fc0 fix regression in std.os.dirent64 on linux
00382f6da DragonFlyBSD tidyup
790d439ce util.cpp: canonicalize the order of includes
d3d3e4e37 startup code sets up event loop if I/O mode is declared evented
788848e12 std.net: fix reference to incorrect constant name
61d5a0bf4 Merge branch 'std.net'
6a15e8a7a add comments to disabled tests linking to the tracking issue
33cc20448 DragonFlyBSD support
7c7350345 generated docs: move color to box-shadow CSS prop
7b7ba5164 fix os.sockaddr being a union instead of a struct
d7f15aa2c Merge remote-tracking branch 'origin/master' into std.net
c52ee6efc canonicalize std.os IPPROTO constants
0de862e8b make std.net more portable
618ee5b63 fixes for macos and 32 bit arches
24b3da871 fix regressions
f5ff36271 Merge branch 'testAddresses' of https://github.com/marler8997/zig into std.net
0fb138803 std.net: enable test for resolving DNS
1f0bcefe4 Document PriorityQueue.
16397241f fix std.net tests and std.net.TcpServer docs
b3c80418a fix regression in behavior tests
d5e438b36 rename std.net.Server to TcpServer and simplify it
c3d816a98 especially non-blocking I/O, std lib networking improvements
48b5dc051 inline path separator loop
8d3b7689a std.net: port the RFC 3484/6724 destination...
9ade31faa implement CNAME expansion
4e0c2ed44 Add tests for ip address formatting
67058b9b7 basic DNS address resolution for linux without libc
d5865f531 move libc/linux bits around
845be4ea3 fix regression in translate-c
f4c244b3d partial no-libc implementation of std.net.getAddressList
4b80e376e std.net.getAddressList
4f594527c detect async fn recursion and emit compile error
a3222b5ff remove dead tls code
b37c00968 Merge pull request #3541 from xackus/language_server
03603ea35 Std docs: Fix a js error that would cause some function to be not rendered
f2d0d9820 synchronize the target features for compiling C code
6fdeaac33 Add some documentation for standard library things. (#3540
36fa5fabc rename error and specify it in function
eeb6536c8 better test name for empty string
8960e8090 make implicit cast of tagged unions to enums easier to find in docs
8af6c7e34 Merge pull request #3522 from SebastianKeller/WriteJson
78b00c0b5 Added test for 'emitJson'
ac705a7bb Unified public api
f756d875b generated docs: vertically align fns with comments
4a57913ca std.target: use mem instead of std.mem
73c4a5f18 lib/std/target.zig: Added missing 'mem' constant
a0abd3be8 fix json parser crashing on empty input remove unreachable code
05003d533 Merge pull request #3537 from lun-4/fix/accept4
d4e41c5bc std: make addr_size parameter be a pointer to socklen_t
bf16fc210 fix std.os.accept4
fafd1fd48 ci: disable test-compare-output on aarch64
d91fc0fdd Don't use SSE on freestanding
b8305b564 Don't save/restore stack on newStackCall to noreturn function
ee21bab25 ci: -Dskip-release for aarch64 to hit 1 hour time limit
d04c58816 Translate-c: Fix a segfault when to many errors are emitted
05fd59e06 ci: enable more passing tests on aarch64-linux
3aeb1b115 stage1: fix compile error on macOS Xcode 11.2
e219f0c78 fix regression in `zig run`
952aa7a9c ci: perform git config inside zig git repo dir
c5e26b867 ci: force git name-rev to be 9 on all targets
aa2607a10 Merge branch 'ci-drone-cloud'
6eba65bd7 ci: add aarch64 to download page
bf5be65be disable not working stuff
55c282ed5 os.dup2: handle EBAF
f6367a075 ci: build docs, fix PR logic
695a746aa ci: use x86_64 namespaced docker image
551e70dcb ci: add s3 secrets to drone config
43f5054a9 ci: drone tests only aarch64 with docker image
79cb383f7 fix 32-bit build of translate_c.zig
0e9f32d42 disable static build for now until the docker image is ready
099532af8 add Drone Cloud CI configuration
ad438a95c avoid passing -march=native when not supported
f8bd1cd3b implement partial C ABI support for aarch64
6257b4c59 Shortened switch statement
32c89531b Add missing compile error when ptr used instead of array
b82b6a709 Added 'writeJson' to write_stream.zig:
345042ecb Merge pull request #3519 from ziglang/move-builtin-types
60cd11bd4 get rid of std.os.foo.is_the_target
8591731f2 refAllDecls in a test block to limit when it gets run
17eb24a7e move types from builtin to std
ef6245236 Handle TERM=dumb for stdout/stderr
e98e5dda5 implement safety for resuming non-suspended function
1dcf54042 main.cpp: fix not ending progress node for zig build
cb8dacabd explicity linked ntdll on mingw-w64
f65b1d468 integrate stage1 progress display with semantic analysis
dc080573d Add documentation on function parameter type inference.
0dbdb6329 Merge pull request #3503 from MasterQ32/markdown-renderer
c71857703 Adds documentation for std.fmt.format grammar and customization. (#3474
03f1ad500 Merge branch 'master' of https://github.com/ziglang/zig into markdown-renderer
e839250c5 Merge branch 'stratact-no-dir-allocators'
a5cc75803 std.os.accept4: improve docs and integrate with evented I/O
87b11617b Fix accept function API
2550cb463 remove pub syntax for container fields
064377be9 test runner: restore previous behavior of printing all tests passed
fc6f84f3f fix os.unlinkatW implementation
65165554d test runner: restore previous behavior when...
9a82f00a4 add freebsd AT_* bits
5917572e5 cleanup
98c4365b6 darwin: add AT_* bits
87f632b08 fs.Dir.openDir: use empty object name for "." on Windows
859cbef8a test runner: refresh display before running test
16a91e6a4 adjust test runner to print the test name when error occurs
ef67c4978 [wip] use NtDll APIs on Windows to implement std.fs.Dir
ddb87237d Fix crash with peer type resolution & error unions
5b1a49201 breaking: improve std.fs directory handling API
771dafbab Resolve lazy slice start/end values
5456eb110 Images, Starts to implement markdown parser. Implemented: strong, code blocks, emphasis, headings. Planned: Links, internal references., olist, paragraphs, strikethrough, ulist, underline
6948d7fce Merge pull request #3429 from Rocknest/docs-local
dbb1eaefb Merge pull request #3473 from nrdmn/subsystem
e78d3750c Use 8192 sized buffers and remove allocator parameters
6f7939a45 Prevent too eager constant-folding of switch expression
bab93e756 Fix crash when generating constant unions with single field
63dfca971 Merge pull request #3482 from ziglang/mem-usage-report
4e9851234 reduce the size of IrInstruction by 8 bytes on 64 bit targets
fa9f1d239 add -DZIG_ENABLE_MEM_PROFILE option and -fmem-report flag
c8dec5729 std/build: make subsystem configurable
8774b1d94 std/os/windows: remove subsystem detection for uefi
e42d86b65 Merge branch 'lun-4-progress-take-2'
2d5b2bf1c improve progress reporting
299991019 rework the progress module and integrate with stage1
a73c7bcaf add lib/std/progress.zig
17aa8c3ee Merge branch 'musl-1.1.24'
2aec35525 mipsel: fix padding on stat struct
88b957948 update musl src to v1.1.24
1135c9523 update musl headers to v1.1.24
0cb1c1696 Merge pull request #3467 from ziglang/windows-static-linking
93295f3b1 remove -DZIG_FORCE_EXTERNAL_LLD=ON
f80c01f9d ref more math decls for better docs
c03dc6665 update CI script for windows static builds
63ecded3c msvc: reduce inlining aggressivity to workaround a codegen bug in cl.exe cf. #3024
5b51f41ce stage1: override cmake's default compilation flags to statically link the CRT on windows
40d53a7bc Merge branch 'master' into docs-local
c95a9e978 Cleanup
1c5dfaaca Changes from master
7598a579f turn comments into doc comments
1b07ff7be Add 'missing' consts to math.zig
700bb19a9 fix std.mem.AsBytesReturnType (#3442
45e584128 Merge pull request #3464 from nrdmn/uefi
09abd09ab add docs for std.fs.File.updateTimes
6a549a7f0 Fix compilation of updateTimes on 32bit platforms
518197080 improve docs and field names of Statx struct
312880f10 Merge pull request #3439 from LemonBoy/statx
3af2202ea add -I command line parameter, same as clang
e6eae2505 std/os/uefi: add documentation
8cf3a4d58 [breaking] standardize std.os execve functions
77104da43 std/os/uefi: add Guid format(
10f6176f3 only look for .defs when needed; remove samsrv.dll cross compiling support
5bfea3f1e add more cross compiling support for windows system dlls
f81d9d2c8 add cross compiling support for opengl32.dll
1014cfdf3 generated docs: progress towards generic types being useful
47dfaf3d1 merge analysis dumps tool handles errors
c7f994890 Merge branch 'dtw-waleee-fix-help-modal'
e6ca61bdd generated docs: further clean up keyboard shortcut handling
725c873e8 'escape' v. 'Escape', fix small misstake
3e891c9c0 Fix keyboard layout issue with help-modal
6a629d3a9 Replaced setTag hack in Deserialize with @unionInit
9050cd847 fix non-byte-aligned packed struct field...
7495fd8cb fix struct align fmt
f7f3dedb1 Merge pull request #3436 from LemonBoy/unpatch-lld
b164e0ae5 Fix stack iteration stop condition
230d27c1c Adapt to clang API additions
9439bf380 Merge pull request #3446 from LemonBoy/riscv-things-x
ae0628b30 ci: use parallel msbuild.exe processes for faster building on windows
22e60df68 Propagate user-defined function alignment to LLVM IR
b1f3f59d6 Fix fp-based backtracing on RISC-V
ba711f111 Add ELF architecture constant for RISC-V
ead9630c1 Fix signedness for some fields in ARM stat definition
40fc7a1fd Add support for the statx syscall
b17546815 Consistent margins
bd3a633e4 Merge pull request #3441 from LemonBoy/llvm10
f77b0b90d Correctly mangle frameaddress intrinsic name
3ea0a76fb More clang API changes
fd4c8a40e Replace llvm::make_unique with std::make_unique
643975929 Add/shuffle several enum members to match Clang's API
8a36064c9 Replace usage of createDriverOptTable
935cce241 Fix lld search path
60cf3f8a8 Revert LLD patch
2b624fea8 Add dlltool functionality
8b4592166 merge targets of generated docs
30a555eed merge dumps tool: merging ast nodes
8aa20227e Fix cross-compilation to i386-windows-msvc
01b2c291d miscellaneous improvements to generated docs
7b20205e6 codegen.cpp: remove unused variable
0e0976828 Merge pull request #3421 from LemonBoy/win32-mingw
b0cd64c01 Merge branch 'master' into docs-local
2bb2a2fce Changes from master
6082c1475 generated docs: add optional type support
fa4717284 better debug info for integers
bc393eefa generated docs: better rendering of unknown decls
352663a34 Merge branch 'master' into docs-local
429d5f287 Changes from master
238ea85b7 Fix dark mode
d15a71afc generated docs: clean up type names and param names
6cbb732b5 Extern unions should not trigger active field check
4e81df12c generated docs: css: wider tables
57fb55032 Merge branch 'Vexu-docs-union-enum'
78d06ec4a Merge branch 'docs-union-enum' of https://github.com/Vexu/zig into Vexu-docs-union-enum
a34b697c0 Add transtition to search field
f597e0d09 Change layout and styles
6330dfbea generated docs: better listing of functions
b9d63551d Merge pull request #3420 from FireFox317/generated-docs-improvements
3464351d1 stage1: fix ir_resolve_str() to return slice
fd94d78ff cleanup: unused imports in test
e34e3344d Generated docs: Add function paramater names
4250d27fe Generated docs: store static container info in a containerDecl astNode
4de3f9d85 Fix stack-probe symbol redefinition
dfcbca8d2 Add i386/mingw to the test rooster
86e5bbffd Patch lld to have a more sensible kill-at implementation
2b55484f3 implement doc generation for union and enum
12ed85d0d generated docs: better handle when root is std
510b6443b generated docs: avoid clobbering browser shortcut keys
000a1df4a generated docs: add array type support
6d54e8fc3 generated docs: render values
13ae7d47b generated docs: refactor how type kinds work
42f2814d9 stage1: fix root top-level-struct typename
c9a3c945d Add a bunch of mingw lib32 .def files
b96fa8946 Compile the architecture-specific mingw sources
9ae293ae3 Remove x86/Windows name mangling hack
f83bb3dd9 Fix compilation w/ clang
a4b3e695a Shuffle around some stack-probing functions
e0ab68546 generated docs: more verbose fields
8d5e3a2f3 generated docs: separate section for namespaces
c4e4fa228 zig build: bump default max exec output size to 400 KB
3ce83e879 generated docs: show error sets pages
a5714ddb9 add comments about why we choose pentium4 for i386 target
228600366 improve names of error sets when using merge error sets operator
8a547d9e8 Docs: adds docs comments to struct fields
406b70aa5 Merge pull request #3390 from nrdmn/unicode_character_literals
f929a58d5 Merge pull request #3389 from LemonBoy/win32
0fc97015e Correct std.os.connect_async docs
48f5b21e7 generated docs: functions in a table with descriptions
71fb4ef8d generated docs: separate Error Sets from Types
1586f244c generated docs: render var decls
5e765356a generated docs: global vars in a table
ca3250a57 generated docs: add global variables
cdaaf7c72 generated docs: consistent coloring
e0f0e2aac generated docs: error sets in fn docs
f74c29b49 Add initial support for struct fields in the docs
1e59eb3c9 src/main: minor grammar fix in the help for `zig builtin`
784a493dc generated docs: functions with inferred error sets display nicely
03a6b33a7 generated docs: bool type and fix error for some fns
6814d6b33 generated docs: function parameters have links
a55db08a7 generated docs contain generic instantiations and comptime calls
ffc0c26b2 generated docs: highlight active package
2e26aaa70 generated docs: prioritized sort ranking
7688100b1 stage1: enable PIC for libuserland
15471531d generated docs: sort search results
478e53911 generated docs: smart ignore case
9df0d5398 generated docs: search cleanup
4a97558ae generated docs: navigable search results
d46234ef7 generated docs: keyboard shortcuts modal
16de5a722 generated docs: fix search stuff
d70c30055 generated docs: better navigation
9237461b2 generated docs: logo and basic search proof of concept
2ccb48ddc generated docs: show doc comments on functions
85b8854c4 move doc/ to docs/
ae7392e50 unicode character literals
e706cc24f Fix typo in docs
8e2c441b2 stage1 parser supports doc comments
86171afb9 generated docs: docs/ instead of doc/
6a687bda7 Support for TLS on Win32
93a49076f Initial support for i386-windows-msvc target
571123465 generated docs: canonical package paths
0e40fc46d generated docs: show public stuff only
19c2474b3 generated docs: render functions
a82c6453c Merge pull request #3368 from mikdusan/issue.3367
edadccde5 generated docs: add navigation bar
a23a02282 fix container member access for fn/struct-fn
5aa1e7880 generated docs: navigable types
f78d49c91 generated docs: navigable packages
dca6e74fe proof of concept of stage1 doc generation
2f4dad04e langref: no viewport
81c6bd37a stage1: fix compile error on macOS Xcode 11.1
071af5c1d fix noreturn attribute for msvc
eca2aa66f Merge pull request #3372 from ziglang/dump-analysis
39d47b2c5 handle when std lib is unused
59ac7b91d add -fdump-analysis to dump type information to json
7640bec8e Fix pipe syscall for MIPS
7481a4ad0 zig build: fix exe file ext to match target.cpp
edef35bb5 docs: use the updated png favicon
a7c9aa7dd finish conversion of translate_c.cpp to use zig_clang.h
ce56ae8af we have to use c++14 now for llvm10
6f10e3fda llvm 9.0.0 => llvm 10.0.0
f84086132 more conversion of translate_c.cpp to use zig_clang.h
a8d6954c2 fix tripping LLVM assertion in const unions
c1a05f058 translate-c: make trans_implicit_cast_expr use zig_clang.h
17f2af10b Correct signal bits for MIPS
bed4bfa69 Replace code occurences of --override-std-dir with --override-lib-dir
5026db1d3 langref: add 0.5.0 docs link
0dd8adcdb Release 0.5.0
e0eb045b5 remove unhelpful/outdated/unused doc file
0e9f86b1d docs: docgen supports release safe exe code examples
ffaf37a7e Merge pull request #3343 from ziglang/windows-libc-um-dir
339f62173 detect the shared windows include dir as well
c8e967f43 detect the windows um include directory
ec545859b docgen: support code examples for riscv target
ff9c3c6e5 std/os/uefi: fix Guid alignment in rng protocol
bd46c1c32 RISC-V: get to the linking phase of behavior tests
543e72939 Merge pull request #3331 from meme/android-ndk
030abfa0d minor tweaks
0c556095f do not link against gcc runtime on Android target
ce0e79409 fix glibc builds on aarch64-linux-gnu
579301c2a avoid duplicated code of specifying the default glibc version
308e7d531 fix building static Android executables
dc299166c std.os.fstat: EINVAL => unreachable
f7bf61a98 support Android NDK and bionic
878aece87 Merge branch 'LemonBoy-fix-3138'
09575bc0d fully specify padding bytes when necessary
67bd0267d Correct calculation of padding length in struct
70e934f11 Merge pull request #3326 from LemonBoy/misc-misc
9ad0541f2 Enable mipsel+libc tests on CI
a22064819 Backport patch for Musl libc
5aaa7d0fb Avoid truncating mmap2 offsets if not multiple of page size
805f9b309 add regression test for alignment of constants
a1a3e46e0 Merge pull request #3323 from nrdmn/uefi
4527110e0 std/os/uefi: add some hii support
a4f324e9e std/os/uefi: add exitBootServices and allocatePool
23a82b5ff fix mipsel regression in previous commit
ebe79329a fix some linux declarations not getting exposed
4d65373a3 Merge pull request #3311 from LemonBoy/mips
2c8864f63 Don't warn about redeclaration for the same var node
b89a09af4 docgen: add "process terminated by signal" to exe_err
a94372231 Errno changes for MIPS
94e9b9c62 docs: mention release-small along with release-fast
dfb4446d0 Add comments about the test cases that have been disabled
c8e4108c5 Export _start as __start for MIPS targets
efea7958f doc: usingnamespace imports only public decls
a9be62f08 Fix wrong IOCTL value
4ebcf6486 Initial support for mipsel architecture¬
2f2083309 add -DZIG_SKIP_INSTALL_LIB_FILES cmake option
68bb39457 Merge pull request #3315 from ziglang/mv-std-lib
4637e8f96 zig additionally looks for lib/std/std.zig
dc7016344 remove --override-std-dir. fix issues caused by moving std lib
ed36dbbd9 mv std/ lib/
6128bc728 macos ci: display system info before running anything
568c183d2 docgen: slightly better caching
f112e8af2 Merge pull request #3312 from ziglang/armv8-linux-musleabihf
d1705baa7 enable test coverage for armv8-linux-musleabihf
40e77dad8 musl [PATCH] arm: fix setjmp and longjmp asm for armv8-a
dc3c4197c disable known-to-be-failing tests for linux-aarch64-gnueabihf
c9690916e fix building musl on eabihf abis, incorrect include dirs
14ae23326 ran zig fmt on stdlib
29e6541db add noasync to zig fmt
3907e3b67 Fix llseek behavior
48c9e17aa Merge pull request #3308 from LemonBoy/riscv-things
a56b767c3 Add DTP bias according to RISCV ABI
453157595 Correct some RISCV64 bits
993d5bc9c add docs for usingnamespace
53210b230 better default enabled features for riscv
9983501ff add VarDecl support for struct-method call syntax
56b1818be docgen: test blocks support linking libc
c0b937ba1 docgen: slightly cleaner display of libc cli args
5fb7af26a Fix result loc unwrapping with optional in error union
93367adaa Fix assignment to optional payload
0bdc85181 Create user-specified `output-dir`
663e66584 Prevent crash with invalid extern type
db988f42a Fix computation of switch coverage
53ae03ebe make type_allowed_in_extern more robust
29b82d20a zig build: linkSystemLibrary integrates with pkg-config
35c1d8cef Merge pull request #3290 from ziglang/more-test-coverage
55925b6e2 windows CI: fix name collision
96affd683 enable test coverage for cross compiling windows mingw-w64
c161ce3f7 mingw-w64 libc: fix incorrect detection of _xgetbv
23f339f1b add emscripten to std.build.Target.defaultAbi
989cd4233 Merge pull request #3298 from ziglang/gethostname
d6f7b573a silence nonportable include path warnings when building glibc on windows
f14ba904d tolerate windows newlines in glibc text files
2c8495b4b I love you, but please stop mangling my files, git
a239c7439 more helpful error message when failing to parse glibc abi.txt
31b72da84 more info in assertion failures
028011e59 libc implementation of gethostname
65b495af5 windows CI: use MinSizeRel to work around MSVC bug
1d6d6d522 remove redundant assert
12b195f9d ci: update windows image to MSVC 2019
cf4cc9b14 do the release tests last because they take longer
786052c7d disable running cross compiled macos tests
9627a75b0 clean up compiler_rt with some enum literals
e63daca92 linux implementation of std.net.getHostName
8a15537c6 Fix #3272 - update docs
2510edeb7 fix linux stat struct on aarch64
dc2463d9a windows ci: make the case of file names agree
ffef5d26b significantly increase test coverage
c5716715d stage1: fix lost argv[0]
a11c20e26 Fix TLS for VariantI arches with a twist
4dd17a7c9 zig test: don't skip execution when explicit command provided
2c681d7ba add behavior test for float widening f16 to f128
f3a7c346d Merge pull request #3278 from LemonBoy/struct-gen
533aff3a6 Merge pull request #3238 from Tetralux/fixed-allocator-reset
86b6790b6 Remove 'inline', as per @andrewrk
34d02f249 Fix a test on ARM due to the use of `undefined` ptr
57f751a86 Adjust tests for AArch64
093ffe9f1 Correct stack alignment for new stack
75ec7e4e0 Fix generation of tail fields for packed struct
3377044eb Merge pull request #3183 from LemonBoy/fix-3128
257fded70 avoid setting `tail` for `@panic`
f663bcd6b add more RISCV64 linux bits to std lib
ea776c287 Merge branch 'daurnimator-linux-5.3'
aab1ec5c4 fix typo
2a8facafd std: update for linux 5.3
edea0d431 std: update riscv64 syscalls
74d0b5bf7 reject types of automatic container layout in packed unions
c9a5a6b83 add test case for already fixed bug
3b4a6679a Fix comptime bitcast inside an expression
695695c85 update README
ee200aaa8 fix typo in docs
d60f9d0d4 stage1: fix gcc 9.1.0 compiler error on archlinux
e81156b87 Merge pull request #3260 from ziglang/llvm9
b76d16c7c update remaining llvm 8.0.0 references to 9.0.0
14d2e16b6 macos ci: RISCV is no longer experimental
00cd98843 update CI scripts llvm 8 to 9
8a30edcde Merge remote-tracking branch 'origin/master' into llvm9
925ffbce7 Disable Channel, Future, and Lock tests for FreeBSD (#3253
ef3f7ecc1 update std.zig.tokenizer
cd3068b4e Merge pull request #3017 from fengb/tokenize-cleaner-errors
3b297f58f src: use zig_panic rather than having LLVM abort
ff9f3275d docs: clarify @clz and @ctz terminology to not be endian-specific.
c9937f4a2 Allow Zig programs to implement their own startup (_start) for ELF executables.
7ebb7ca58 pass param as ref in ZigList::append
1eb33966b Merge branch 'merge-shawnl-simd5'
28c7fe60b add docs for `@splat`
005a54a85 fixups for `@splat`
01577a3af `@splat`
0048bcbd7 Merge branch 'merge-shawnl-simd5'
380c8ec2c implement runtime `@byteSwap` and other fixups
76f539607 @byteSwap on vectors
86209e1a9 Merge branch 'merge-shawnl-simd5'
ef0f3ba90 relax std.auto_hash requirements regarding vectors
2038f4d45 rework the implementation
193604c83 stage1: add @shuffle() shufflevector support
9e4065fa7 remove TODO regarding lazy values
74ce5e9e1 stage1: proper return type on vector comparisons
558b4ac1f adjust codegen of casting between arrays and vectors
0e3ca4c63 Fix array->vector and vector->array for many types. Allow vector of bool.
914ad1ec2 ..., fix peer result location with typed parent
c6e77f248 fix tripping llvm assert
1cefe1442 update clone on arm32 to latest musl implementation
5e34fb359 fix tripping llvm assert
cddd6b46d Fix typos: "seperate" to "separate"
537b26034 Add FixedBufferAllocator.reset
c4416b224 Merge remote-tracking branch 'origin/master' into llvm9
8223aca09 no-stack-arg-probe only for UEFI
2b698888c fix regression from incorrect conflict resolution in prev commit
187a6d198 Merge branch 'nrdmn-uefi'
c15e46432 Merge branch 'uefi' of https://github.com/nrdmn/zig into nrdmn-uefi
eb7d36ae0 Make single-element enum default to u0
742abc71c Add missing C dl_iterate_phdr function for FreeBSD
774f77005 Correct AT_FDCWD definition
cf4bccf76 improvements targeted at improving async functions
68b49f74c consolidate std.debug.parseDie and std.debug.parseDie1
f36b8fd7b Recognize & skip the UTF-8 BOM
0eddee449 add behavior test for `@enumToInt(enum(u1){x}.x)`
67491a422 disable runtime safety in std.io.InStream
c9b2210fc async function calls re-use frame buffers
92a427437 Merge remote-tracking branch 'origin/master' into llvm9
7101e583d update glibc src files to 2.30
a165cc053 Get more of the tests passing for FreeBSD (#3197
68d159ea9 fix build on macOS + xcode + clang
3cd035ba3 update C header files to clang 9.0.0rc4
e92d74958 lld: apply patch: [mach-o] Extend LC_DATA_IN_CODE support to x86_64
016a59e3a update embedded LLD to 9.0.0rc4
8b5cb8df9 Don't forget to resolve the pointee type
185cb1327 Merge remote-tracking branch 'origin/master' into llvm9
ba4d83af3 Resolve lazy arguments passed to @compileLog
e2c68fce8 Accept void argument for @cDefine value
e657b73f3 Merge branch 'async-std-lib'
ff051f8f5 -fstack-report outputs JSON
0489d06c2 make the std lib support event-based I/O
a29ce7865 std: add BloomFilter data structure
8fbae7777 Force LLVM to generate byte-aligned packed unions
a06f84fcc forbid opaque types in function return types
8bd568165 fix tests.addPkgTests to always run native target
852679c36 fix a var decl in scope preventing for loop spills
a3993465f Merge pull request #3200 from LemonBoy/eq-tagged-union
fec795cd2 Adjust the stdlib to be 32bit compatible
f50bfb94b fix bad LLVM IR when for target expr needs to be spilled
e4c306761 Fix typo in TLS initialization code
4b1cd4547 Comptime folding of enum/union comparisons
cc6376058 Allow comparison between union tag and enum literal
f7721ac37 implement spilling when returning error union async function call
2482bdf22 release builds of stage1 have llvm ir verification
19cf9bd06 use /debug:fastlink when building with msvc and debug info
0d9a78a85 test-stack-traces: add FreeBSD
071ca0057 Merge branch 'gustavolsson-clang-frameworks-dir'
5dde3cd3b move logic for propagating framework dirs to zig cc
ec13fa3f4 forward framework dirs to embedded clang in addition to linker on osx
229323e13 fix suspensions inside for loops generating invalid LLVM IR
d3cf040c9 Merge branch 'glibc-2.30'
b21ad0776 update glibc ABI lists to 2.30
45ab9d5fd update glibc headers to 2.30
99fd42404 update process_headers tool for glibc 2.30
9a18db8a8 properly spill expressions with async function calls
d1a98ccff implement spills when expressions used across suspend points
9ca8d9e21 fix await used in an expression generating bad LLVM
9423d382f fixed compiler error for gcc 9.2.0
7d303ae86 runtime safety for noasync function calls
0a3c6dbda implement `noasync` function calls
ca70ca7e2 Add compiler error when negating invalid type
4a5bc8986 add -l as an alias for --library
b564e7ca5 os: raise maximum file descriptor limit
2045b4d93 prefer result type casting to peer type resolution
8f0df8693 I'm pretty sure `sp` is the stack pointer on all ARM
866c253e0 Add compile error when shifting amount is not an int type
8e3c56b91 Always resolve the struct field types
0107b1912 Resolve lazy values when checking for definedness
9a358d2d3 Add Array support to @Type
847a262ef Shorten @field documentation and add an example
fe153ad2a stage1 enhance IR print
fabf45f5f Add the noinline keyword for function declarations
a7fd14096 fix typo with tls initialization
090f2ffb8 Merge pull request #3152 from Snektron/arm-support-improvement
e540e5b8e Implicit cast from enum literal to optional enum and implicit cast to payload of error union
df06976e7 Only check for TLS support on arm if TLS segment exists
53a6aea21 Merge branch 'marler8997-typeBuiltin'
ac7703f65 fixups and add documentation for `@Type`
77d04c03e Implement remaining requested changes
6a7629874 Add missing clobbers on arm-eabi and arm64 syscall conventions
5308eb704 Merge remote-tracking branch 'upstream/master' into arm-support-improvement
b728cb6d4 Add @Type builtin
77a5f888b emit a compile error if a test becomes async
6b27290c6 Merge branch 'Vexu-comment-in-array'
8a7e2e347 Merge branch 'comment-in-array' of https://github.com/Vexu/zig into Vexu-comment-in-array
ce14c543d error message and test for alignment of variables of zero-bit types
a4ce10df8 Merge pull request #3169 from Sahnvour/string_hash_map
42cc4a406 Merge branch 'marler8997-fixSegfault'
186207565 fix union field ptr ir instruction
a81e4351a Merge branch 'fixSegfault' of https://github.com/marler8997/zig into marler8997-fixSegfault
9d6f23672 add fastpath for std.mem.eql and simplify std.hash_map.eqlString
f08c6e4fe changing occurrences of HashMap with []const u8 as keys for StringHashMap
fc0f8d035 zig build: make install prefix available to build.zig and
be17a4b6c fix compiler crash in struct field pointers
e673d865f fix stack traces on macos when passing absolute path to root source file
e9530ce97 Fix addition direction, add tests, remove superfluous loop counter
bdac2ba9d Merge branch 'mikdusan-issue.2485'
aba67ecf4 rename test-compare-panic to test-stack-traces
1fd24791a rename compare-panic to compare-stack-traces
a19e73d8a test: add compare-panic
d74b8567c omit prefix data for async functions sometimes
00d82e34d cmake: improve building without git repository
058050f22 Merge remote-tracking branch 'origin/master' into llvm9
4a5b0cde1 else unreachable, fix const result loc, runtime if cond
5e874a89b std/os/uefi: fix ordering of packed bit fields
8db41b7ad std/os/uefi: add support for getting memory map
ab4cba14c fix recursive call of await @asyncCall with struct return type
03abc6edf std/os/uefi: add global_variable guid
d291d3c8c fix using @typeOf on a generic function call
0fe28855c add ability to specify darwin framework search dirs
0c4d47c6d add regression test for already fixed bug
d62f7c6b6 Merge remote-tracking branch 'upstream/master' into arm-support-improvement
e7912dee9 Fix up preadv, preadv2, pwritev and pwritev2
e9d795b02 Fix up seteuid and setegid
e39c93a2f Replace legacy 16-bit syscalls with 32-bit versions when appropriate
8b1900e5d Revert "Merge pull request #2991 from emekoi/mingw-ci"
ec6f15b0f fix `@typeOf` an async function call of generic fn with error union type
1f9989940 stage1 enhance IR print
5c3a9a1a3 improvements to `@asyncCall`
a22306392 `@typeOf` now guarantees no runtime side effects
6ab8b2aab support recursive async and non-async functions
2148943ff Merge pull request #3139 from hspak/zig-fmt-nested-if
7a2b4cb9a Merge remote-tracking branch 'upstream/master' into arm-support-improvement
fed5c12d9 musl: fix alltypes.h and syscall.h not being correct
37ef490fc update process_headers.zig for latest zig
d9fed5cdf align(@alignOf(T)) T does not force resolution of T
966670645 fix stage1 to build on macOS + xcode/clang
ca2aa4880 Merge remote-tracking branch 'upstream/master' into arm-support-improvement
4b8325f38 Remove unneeded os check
c1f8b201a Improve comments near un-implemented functionality
19964f5dc run new zig fmt and remove stale comment
9f4d44bc4 zig fmt: fix nested if
10541c8fc Merge branch 'lazy-sizeof'
e9a4bcbcc fix regressions
03910925f await does not force async if callee is blocking
8e9399163 avoid unnecessarily requiring alignment for array elem pointers
0512beca9 comparing against zero participates in lazy values
d9f0446b1 make `@sizeOf` lazy
2323da3a6 add __aeabi_read_tp
94bbb46ca fix not fully resolving debug info for structs causing llvm error
f7f869273 fix not fully resolving debug info for structs causing llvm error
834a789bb Use LLVM path provided by homebrew
e4c262b80 Don't print line info if source is not available
108a51b11 fix issues with debug.zig
b3ac323a4 TLS initialization, clone definition and _start functionality
57de61084 Make mmap use SYS_mmap2 if it exists
223b773e0 Add more syscall constants
928ce5e32 Merge remote-tracking branch 'origin/master' into llvm9
e8a9caa3d add suggestion to AutoHash compile error message
af90da153 fix implicit cast from zero sized array ptr to slice
d5b3d97c2 Merge pull request #2760 from Vexu/fmt-comment-fix
c98f792ff Improve the handling of `zig fmt: off/on`
50c37c75d add arm32 syscall conventions
7139eef4c implement lazy values for error union types
32f4606ce add arm32 linux bits definitions
ac477f3c9 Merge pull request #3060 from Sahnvour/hashing
47fcbfdc5 add regression test for already fixed bug
f4519c520 support self-referential struct through a slice of optional
c1fd7ed6e add regression test for struct with optional list of self
428a2fded better handle struct depends on itself via optional field
e1b258f39 add regression test for bug fixed by lazy values
fbcdf78cb Simplify wyhash and improve speed
8fef23a52 add regression test for bug fixed by lazy values
35a374efe Merge pull request #3115 from ziglang/fix-field-alignment-kludge
d9ed55f01 fix not properly casting align values
7d34e55a7 add a TODO compile error for union field alignment syntax
ffac0b02e implement and test struct field explicit alignment
326b7b794 Improve siphash performance for small keys by up to 30% (#3124
a2e8ef77e fix regression in one of the doc examples
db50cf704 fix more compile error regressions
1df75da91 remove no longer needed gcc8 workaround. add gcc9 workaround
bad4b040c miscellaneous fixes regarding compile errors
ca145a6d5 fix regression in ir_get_ref
ae65c236c fix regression with global variable assignment...
d316f7045 fix regression on struct field with undefined type
73a7747a9 fix some compile error regressions
6569bfc85 fix some std lib dependency loops
e1a4bcbdf fix dependency loop errors with zig build
ede0c22a6 make `@alignOf` lazily evaluate the target type
2457d09fe Simplify wyhash and improve speed
b13af0750 fix assertion tripped instead of reporting compile error
720302a64 fix resolution detection of pointer types
a7f315818 behavior tests passing
64e9b0ee4 make the zero-bit-ness of pointers lazy
8f41da221 fix behavior test regressions with unions
fa6c20a02 hook up unions with lazy values
1b19c28c7 Fix issue 3058: zig build segfault
90e921f7a wyhash: readd the stateful streaming version so that both are available
4c882e731 hash_map: adding a StringHashMap for convenience
1498ccac2 auto_hash: better generic hashing implementation
50a80261d Merge pull request #3118 from ziglang/revert-crc-poly-api
a61035227 std/hash: Revert crc32 api change
d277a1196 tracking these issues on github now
e8bad1e12 fix regression on `@ptrCast`
101440c19 add lazy value support for optional types
f0034495f fix regression with simple pointer to self
ac4dd9d66 better handling of lazy structs
be0a9a727 pointer types lazily evaluate their element type
1dd658d1d allow top level declarations to be lazy
20049caab add lazy value for fn prototypes
3865b6ad8 Merge remote-tracking branch 'origin/master' into fix-field-alignment-kludge
ec2f9ef4e Merge pull request #3114 from Tetralux/align-on-struct-fields
9322eee80 Encapsulate bigint representation, assert on cast data loss
43587af01 rendering of align(N) on struct fields
3ec10ea17 parsing of align(N) on struct fields
79a4b7a23 fix regressions
26b79ac90 simple self-referential struct is working now
0d6a6c76e add missing "referenced here" notes for lazy values
8460d5617 introduce lazy values
0e75fef1d Merge pull request #3106 from ziglang/hash-tooling-changes
efdbede7a breaking: remove field alignment kludge
ec7d7a5b1 Merge pull request #2991 from emekoi/mingw-ci
16fa255f4 Inline full slice hashing
7854a52a6 Add iterative-only filter to hash benchmark
48410943c Add more hash functions to benchmark scripts
c050ec4e5 Update hash/crypto benchmark scripts
81c441f88 remove incorrect assert regarding 128-bit integers
2f3ad48c9 LLD patch: workaround for buggy MACH-O code
8bb6bf681 update libcxx to 9.0.0-rc2
37a06f4dc update embedded LLD to 9.0.0-rc2
c0bd2eb39 update C headers to clang 9.0.0-rc2
5f3d59f0a Merge branch 'master' into llvm9
3b5a8858c Merge branch 'euantorano-fix/3012-os-getrandom-fill-buffer'
9bf283c08 fixups
79354243e fix os.getrandom logic to fill the entire buffer
8c32c0980 Fix InStream.readNoEof
c175e5356 add std.c.printf
f0a141f79 Merge branch 'FireFox317-fix-issue-3030'
276eb4402 specify the target for the newest test case
2addec8ea compiler error when variable in asm template cannot be found
2aa18b909 Merge pull request #3090 from ziglang/fmt-internal
3dbed5429 fix @bitCast of packed struct literal
07c5e9060 Merge branch 'mikdusan-issue.3010'
6bc520ab9 solve it a slightly different way
24deb1a7f fix @bitCast segfault with literal array param
efc2237e5 added documentation for field access to C pointers (#3088
d067a037c fix void array as a local variable initializer
44fb5275c fix array multiplication not setting parent value info
3f7f52003 don't put libc on the elf linker line for objects
e0447c6dd std/fmt: Make FormatOptions arguments non-comptime
98859c885 std/fmt.zig: Pass full options struct to all internal functions
5a0275c24 fix error message when dependency requires position independent code
ea1734773 add compile error for async frames depending on themselves
6844dafec std/fmt: Move pointer parsing out of main state machine
57b90d2d9 allow implicit cast of fn to async fn
66a490c27 detect non-async function pointer of inferred async function
0ff396c34 add compile error for incorrect atomic ordering in fence #3082
4d8a6f6fe fix compiler not checking alignment of function frames
456a244d6 fix event loop regression on macos
e24cc2e77 std.event.Loop: fix not waking up after file system I/O
3dce41b61 improvements to std lib for event-based I/O
c39bb3ebc target: add missing switch case
6529658ad Merge remote-tracking branch 'origin/master' into llvm9
bf7b6fbbd add missing compile error for fn call bad implicit cast
cbca6586e add test for struct parameter to async function being copied
5a2cbe239 fix and test case for returning from suspend block
c3407ed09 Merge branch 'master' into comment-in-array
2cb1f9389 correct LLVM subarch names for arm
13c584d32 add compile error for casting const frame to anyframe
cba3b8291 codegen: LLVMConstSub instead of LLVMBuildSub in one place
7798054b5 add tests for bad implicit casting of anyframe types
4ea2331e3 add test for async call of generic function
5df89dafe add test for wrong frame type used for async call
1254a453b add compile error for @Frame() of generic function
92a81252c Merge branch 'master' into fmt-comment-fix
49c88e23a zig fmt
7874d5a40 zig fmt: add more test cases
2151f84d5 implement new async syntax in self-hosted compiler
1e3b6816a note that -mllvm is unsupported
ff7e826b8 fix crash with sometimes type not being resolved
0b08ae581 add assertion about control flow to fix gcc warning
7e75e1075 zig fmt
8b97a1aee Merge pull request #3033 from ziglang/rewrite-coroutines
d3672493c basic docs for new async/await semantics
55f5cee86 fix error return traces for async calls of blocking functions
729807203 force static libs for vendored dependencies
13b5a4bf8 remove `cancel`
64c293f8a codegen for async call of blocking function
f3f838cc0 add compile error for await in exported function
7799423f2 rename behavior test files
5749dc49d respect local variable alignment in async functions
dd8c8c080 get_struct_type accepts field alignment overrides
509263410 avoid the word "coroutine", they're "async functions"
82d4ebe53 organize TODOs
12ff91c1c alignment of structs no longer depends on LLVM
8a9289996 Merge remote-tracking branch 'origin/master' into rewrite-coroutines
98183e474 flip the order of fields in error unions
24d5ec078 fix async function frames not aligned enough
911b1a042 fix no-longer-correct `nonnull` attribute on merge err ret traces fn
62c5bc605 fix cancel invoking branch on undefined memory
4d8d513e1 all tests passing
3aed7de0c README: link to community projects
af8c6ccb4 fix canceling async functions which have error return tracing
b87686dfa fix enum with one member and custom tag type
1b83ee78a allow comptime_int to implicit cast to comptime_float
4bd4c5e06 Fixed tiny typo in the math module (shr's description
70e62b861 std/os/uefi: some more events
a9b3700c6 src/codegen: configure stack probes explicitly
3f5c6d7a8 add test case for typical async/await usage
77d098e92 fix returning a const error from async function
22428a754 fix try in an async function with error union and non-zero-bit payload
47ce736ab std/os/uefi: add basic Event support
9445b3f05 std/os/uefi: change type of Handle from @OpaqueType to *@OpaqueType
b9d1d45df fix combining try with errdefer cancel
2e7f53f1f fix cancel inside an errdefer
e6ebc41a0 add a little compile error to make Future Andy's life easier
0bf6796b7 fix regression in std.math.min
614cab5d6 fix passing string literals to async functions
da56959a9 closer to std lib event stuff working
93840f861 fix var args call on non-generic function
cfe84423c fix segfault with var args
bfa1d12fb better compile errors when frame depends on itself
8be95af48 add compile error for unable to determine async fn frame
8d4cb8528 async functions in single threaded mode do not use atomic ops
d813805f7 more debuggable safety for awaiting twice
34bfdf193 cancel, defer, errdefer all working as intended now
e6ef00233 Merge pull request #3025 from euantorano/fix/3015-std-os-window-rtlgenrandom
f2bef0447 Remove unneeded casts.
8621e3b5b Don't emit clang error if source or filename pointer is null
2cd5e5558 std.math.min: return a more restrictive type sometimes
8fcf21fef modify header precedence for zig cc, resolves intrinsics issues (#3027
e11cafbd4 cancel works on non-pointers
f587fa1cd clean up the bitcasting of awaiter fn ptr
7e1fcb55b implement cancel
1afbb5366 fix awaiting when result type is a struct
966c9ea63 error return trace across suspend points
17199b087 passing the error return trace async function test
400500a3a improve async function semantics
2d25348f6 Fix function signature and use a loop to ensure buffer is filled.
88fdb303f std/os/uefi: replace init() with default values
23ee619fc Output token symbols similar to stage1
b4172e515 Humanize tokenized symbol names
7f23dac6d update readme
7b8c96612 Fix #2993 - use getrandom on freebsd
20ce0b995 std/os/uefi: replace integer bit fields with packed structs
8aa87ec44 Add misisng newline
015736587 Add missing S_IS* for NetBSD
20f63e588 async functions have error return traces where appropriate
dfe8c5a2e add a src() method to AstNode to aid debugging
a7763c06f delete IrInstructionMarkErrRetTracePtr
0d8c9fcb1 support async functions with inferred error sets
f27e5d439 refactor logic for determining if there is a frame pointer
b7c94be68 Merge remote-tracking branch 'origin/master' into rewrite-coroutines
fbf21efd2 less memory intensive suspend/resume implementation, simpler
042914de7 move state from ZigFn to CodeGen to save memory
fa30ebfbe suspension points inside branching control flow
b979fc1bc initial work torwards std lib support for uefi
30466bcce update CONTRIBUTING.md
8c99a5199 Merge pull request #2797 from Sahnvour/hashing
54255ee32 autohash: force inlining of integer hashing so that the optimizer can see the fast path based on key's size which is known at comptime
3faf5d385 wyhash: stateless is faster for both iterative hashing and small keys.
4b5172d28 move autoHash into its own module since it can be used with any hash function implementing a streaming interface
5bf63bfbf make use of hashing streaming interface in autoHash
8805a7b50 adapt http/headers.zig to wyhash's new interface
4c93ccab5 Add throughput test program for hash functions
83dffc70a Add iterative wyhash api
c9ce43f59 fix hashmap using strings as keys
5bd407b27 and improve autoHash to handle more types and behave more correctly, use wyhash in std's hashmap
6150da3df direct port of wyhash v2 also inspired by https://github.com/ManDeJan/zig-wyhash
f01cb8cc1 Merge pull request #2998 from daurnimator/return-elf
887eac021 std: remove elf.auto_close_stream and elf.prealloc_file
12924477a fix regression in calling extern functions
59e2c87b4 move windows abi detection to `get_native_target`
87710a1cc implement `@asyncCall` which supports async function pointers
5ce1a965e LLD patch: workaround for buggy MACH-O code
ffab950e0 update embedded LLD to 9.0.0rc1
63ebd9d12 Merge remote-tracking branch 'origin/master' into llvm9
5687323cd Merge pull request #2994 from euantorano/fix/1626-os-getRandomBytesDevURandom
08251fbc5 Omit system namespace.
8e157ccb2 Update returned error return when not a character device.
c87920966 add compile error for calling async function pointer
e444e737b add runtime safety for resuming an awaiting function
521aaf350 std: return Elf object from constructors instead of filling in pointer
24d78177e add compile error for async call of function pointer
57830e43e Fix public function lookup
102d3f30c accept unix style paths on windows-gnu
f15ec9a59 implemented runtime abi detetction for windows
0920bb087 implement async functions returning structs
e68fee398 docs: add atomicrmw operations list
1823a5979 Merge pull request #2985 from fengb/fix-build-references
5bd330e76 add heap allocated async function frame test
b3b6a9845 Merge remote-tracking branch 'origin/master' into rewrite-coroutines
f07f09a37 Merge branch 'master' into rewrite-coroutines
b2d94f9af Merge branch 'assignment-result-loc'
d10576992 fix regressions regarding writing through const pointers
9069ee957 fix discarding function call results
90e64bc62 fix cmpxchg with discarded result
a5cb0f77d assignment participates in result location
24fbd1f1d Add S_* values for freebsd.
1583efda6 Fix call to S_ISCHR and implement for Mac
c0c228b75 Check if /dev/urandom is a character device
056c4e2c9 implement async await and return
0f879d02a more passing coroutine tests
1dd0c3d49 fix calling an inferred async function
e7ae4e464 reimplement async with function splitting instead of switch
6cb4cac5c disable behavior test for 128-bit cmpxchg
38b5812c4 allow 128 bit cmpxchg on x86_64
723aea836 Default wasm-lib prefix to empty
327abdba0 More current style for error handling
e40513e97 Add builder.findProgram test and fix references
dbdc4d62d improve support for anyframe and anyframe->T
ceec2393c Merge pull request #2965 from Sahnvour/zig-stack-traces
c087525ed pdb: improved stream reading performance, printing stack trace from a stage1 crash is now 10x faster
05032c869 coff & pdb: improved correctness of our implementation, it is now able to handle stage1's pdb and print its stack traces
d08425a0a os: missing accessW since recent refactoring
bc982e65c fix std.fmt to handle std.SegmentedList
8736a5be2 std/build.zig: fix stack checking option
7e436006b fix std.rb.Node.getParent to return optional
d694f298d Merge pull request #2958 from emekoi/mingw-cmake
c47b75312 Merge pull request #2969 from evangrayk/zero-width-structs
a0ebfa64d support zero-sized structs in zig.fmt.format
6e8ef5b6f std/build.zig: add checks for UEFI
63d56c532 src/target.cpp: UEFI improvements
357fb4f14 avoid passing -static to msvc when static linking
10b101770 fixed backtraces when linking libc on mingw
ee64a2204 add the `anyframe` and `anyframe->T` types
5593c63e1 improved CMake file for MinGW
74abc5ad2 avoid a register copy when fetching the stack pointer in _start
018a89c7a async functions return void, no more GetSize resume block
7b3686861 `@frameSize` works via PrefixData
538c0cd22 implement `@frameSize`
70bced5dc implement `@frame` and `@Frame`
ead2d32be calling an inferred async function
9e11f67f0 add test for previous commit
8e4f3a6f1 align src for IrInstructionArrayToVector
e220812f2 implement local variables in async functions
19ee49575 add error for function with ccc indirectly calling async function
7e9760de1 inferring async from async calls
59850c1ce Fixed an integer overflow in zig fmt and added testcase
57aa8997b fix escape sequence rendering
317d1ecb2 Merge remote-tracking branch 'origin/master' into rewrite-coroutines
fcadeb50c fix multiple coroutines existing clobbering each other
650e07ebd fix suspend at end of function
16be70cbb compiler-rt: add __muldi3
bc31c1280 disable segfault handler when panicking
a3327f0fb fix usingnamespace analyzing the expression multiple times
5b69a9cd8 disable segfault handler when panicking
d6d0bb054 zig build: adjust DESTDIR logic
32d0ac135 fix wrong calling convention on async resume
59bf9ca58 implement async function parameters
11bd50f2b implement coroutine resume
78e03c466 simple async function passing test
77c2ac3fc zig build: support DESTDIR environment variable
56c08eb30 returning from async fn adds bad resume safety
6053ca4f6 fix not jumping to entry
27a5f2c4f remove errors for async calling convention
72e983670 simple async function call working
a2e1be034 docs: don't try to run the undefined behavior example test
2c1e955de always give the type to byval attribute
54e716afd remove coroutines implementation and promise type
05454123d update clang driver code to llvm9
f429f4dca Merge branch 'fengb-tokenize-ampamp'
8ea8cff49 slightly simpler implementation
111d3792e Docgen invalid for &&
484f8a4cc Switch old switch / @TagType() to use inferred enums
4708fb23c Generate parse error from &&
d4ff27180 Tokenize '&&' as AmpersandAmpersand
af8661405 fix usingnamespace
70e05c67c update libcxx to llvm9
dab0cf642 update libunwind to llvm9
2117fbdae update C headers to llvm9
1d07bbbef zig build: add valgrind cli options
70da0762f better riscv syscalls
e5d032982 closes #2916
03a3b1ca3 riscv workarounds for llvm not having good asm integration
a3854d042 basic riscv support
07f0de6a8 compiler-rt: add __muldi3
afbf99c84 riscv musl: only add the +a feature
d4ca337e6 improvements to riscv support
04ce5376a carry some upstream patches to musl to fix riscv inline asm
aaa4bf75d msvc libc: provide _fltused symbol
e816d592e update zig codebase to llvm 9
3879bebc3 WIN32 -> _WIN32
95e04e387 back to msvc as the default C ABI on Windows
d64bd3069 fixed slice length in getEnvVarOwned
8f92a49df update to llvm9 trunk
c0b4121ff and disable libunwind on arm32, libc headers before C language headers
ec9273902 Merge branch 'update-musl'
d99437917 update bundled musl source to 1.1.23
f70ce707e update musl headers to musl v1.1.23
34d2a1465 Merge branch 'master' into fmt-comment-fix
f8e753e19 Merge branch 'master' into comment-in-array
b1f8b53d2 rename internal names regarding `usingnamespace`
158e2312e Merge branch 'JohnathanFL-master'
23dd7f452 organize the docs and some rewording
475a18102 Add multidimensional array example
15ed47921 Merge branch 'msvc-libc-2064' of https://github.com/dimenus/zig into dimenus-msvc-libc-2064
3a67c13b5 cmake: allow user to select static vs dynamic LLVM
9dcddc224 rename test-build-examples to "standalone", retire the example/ folder
92e781baa fix documentation regarding mixing object files
9a9a7daef Merge branch 'SamTebbs33-main-return'
741c74e42 cleanups
45cc488ce Merge branch 'main-return-!u8' of https://github.com/SamTebbs33/zig into SamTebbs33-main-return
043502647 fixed size of ZigClangAPValue on mingw-w64
68149f203 fix gitattributes
5345044ed Merge branch 'hryx-translate-c-userland'
776423bbf fix result location alignment in ir_render_call
6fe3b2096 Merge branch 'translate-c-userland' of https://github.com/hryx/zig into hryx-translate-c-userland
3f4abe97b Merge pull request #2892 from ziglang/install-with-zig-build
aff90c225 avoid shipping junk files
33eaaadd0 fix documentation of assert
eaf545e24 fix build on windows
c3d20373e std.unicode.utf8ToUtf16Le: improve performance
851a7288a mingw libc can link against ntdll
49d1a4c56 move lib dirs to lib subdir
51a3938b0 fix the build on macos
0cd660462 move install_files.h to not be generated code
6237380b0 fix the build on linux
b23ace27d fix the build on windows
aa170a7ef implement std.fs.File.updateTimes for windows
95fdff3fe std.fs.updateFile: make path if necessary
40a562f26 cmake: fix incorrect dependencies
6096dc5f9 move some of the installation from cmake to zig build
7d9ee5d6d Merge pull request #2882 from andersfr/hash-branch
1547692d1 fixed static linking on mingw-w64
9c39d5720 ir: add an assertion in phi analysis
c0489abcd translate-c: fix incorrectly translated double function pointer
69129c2e9 Intentional wraparound used +
9684c99dd Proper use of @truncate instead of @intCast
0619b525b Better testing and bugfix in hashUint* functions
dfbe65e8c Ported CityHash and Murmur hashing algorithms to native zig
bdfb31420 fixed compilation on mingw-w64
107e57484 Merge pull request #2868 from ziglang/windows-libc
39b850c6c mingw libc: delete dead linker code regarding using system libc
3621d54e5 handle mingw libc defs better
5a62ab3ef fix build.zig
2f8983e2f update zig build system for mingw static lib conventions
7b8ba871a mingw libc: solve the segfault having to do with destructors
4e58855a4 translate-c: better detection of pointer to struct demoted to opaque
52f030050 std: add new linux 5.2 constants
02b1aea29 fix typo in help text for bundle-compiler-rt
d9c4c96bf add -Wno-pragma-pack when targeting windows-gnu
1766bd8a0 doc clarify struct size and ABI-alignment
c7a976972 funding: I've been accepted into the GitHub Sponsors program
b4bbfe8c0 the msvc target abi will have to be solved a different way
e0670557b fix windows not able to build mingw
3714d524c add some more windows defs
2bb93784c mingw: build and link mingwex.lib
540a40e2d fixing non system library linking
67f3bc910 mingw: building and linking msvcrt-os.lib
ea90a3a9a mingw: building and linking mingw32.lib
e9331dc5c resolved #2064 & fixed hello_world libc build
1c7f21852 ship with mingw-w64 v6.0.0
ae2345b74 zig build: add standardTargetOptions and deprecate setTarget
038946288 Revert "fixed path with spaces in llvm-config (#2854)"
d23798a29 fixed path with spaces in llvm-config (#2854
eebb00193 zig build: install .pdb files along with binaries
1d2fc446b cap getdents length argument to INT_MAX
fc9e28ea3 std.os.getrandom does a libc version check
4953e8490 Merge pull request #2847 from ziglang/glibc-abi-versioning
201033d83 avoid dependency on linux/limits.h header
8692c6fc0 zero initialize target
f04782785 fix not setting a target glibc version on non-linux
56d818565 expose glibc version in builtin
3e36cad1c remove debug log
336ddb801 add -target-glibc to cli help and zig build
7ccf7807b ability to target any glibc version
3b97940fb add an update_glibc tool, delete dummy libc files
d39dcd6d9 zig build: add setLibCFile API
38ba41272 Merge pull request #2837 from daurnimator/linux-AT_
e12eb5e7f Merge pull request #2835 from hryx/de-keyword-anyerror
111e5ed0a std: MAP_FAILED is a libc concept on linux
e19796873 std: Make linux MAP_ definitions match kernel
7610d3941 std: Linux AT_ constants are the same across architectures
28b59a0be Remove reference to Keyword_anyerror in docgen
cce11a724 Make anyerror not a keyword
b118806c6 Add implicit cast for *[N]T to [*c]T
21c60922e Merge pull request #2823 from hryx/unicode-escape
7f618184a Prevent unreachable when file ends with struct field
9471f16c7 zig fmt ignores "zig fmt: off" directive for whitespace fixes
4f43a4b30 zig fmt: fix whitespace
5b42c7695 code formatting
273c2b5c2 docs: mention `@unionInit` in the union section
3ad9349f0 add std.os.windows.subsystem
0d84d52e3 std.os.abort no longer calls msvcrt abort() when linking libc
e35d49c4d Unicode escapes: documentation and grammar
6bfa8546b Unicode escapes: stage1 tokenizer and behavior tests
8365a7aab Unicode escapes: stage2 tokenizer and parser test
72800f176 zig build: search upwards for build.zig file
47addd87a stage1: add missing help for `--override-lib-dir`
a8b3b5f11 zig build: install is now the default step; default prefix is zig-cache
79e1fcfdd Merge pull request #2787 from emekoi/fix-2768
f24b8f2a4 Support returning !u8 from main
9e3189f1f forward error code on non-exits
d8135c9e6 forward error code build.zig
b10915552 Merge branch 'emekoi-impl-1107'
96fd10307 improve the error message and test coverage
bfe0bf695 Merge branch 'impl-1107' of https://github.com/emekoi/zig into emekoi-impl-1107
c2cf04086 add docs for enum literals
d1cda00b3 workaround for no equality operator for enum literal and tagged union
372b615ac Merge branch 'timonkruiper-function-sections'
4606baee0 add -ffunction-sections arg when building C objects
2f4faf306 Merge branch 'function-sections' of https://github.com/timonkruiper/zig into timonkruiper-function-sections
a1b952f4b added tests for #1107 and a note in the reference
53ca4118b added segfault handler support for windows
a1359ac3a Merge branch 'rbscott-comptime-union-init'
4bae87764 update `@unionInit` to integrate with result location semantics
9da054095 Merge branch 'comptime-union-init' of https://github.com/rbscott/zig into rbscott-comptime-union-init
9daf0140e add missing compile error for comptime continue inside runtime catch
b84ff1dd3 update the default panic handler on freestanding
57d672418 Merge branch 'shawnl-has-field'
df11512f8 fixups
140335b99 Merge branch 'has-field' of https://github.com/shawnl/zig into shawnl-has-field
b05b5649d print dir name on failure to write to cache dir
04b32d6a8 docs: mention the standard library documentation
9d42a40a9 return `FileNotFound` for PATH_NOT_FOUND in DeleteFileW
06733c3ff Merge pull request #2788 from emekoi/pdb-fix
704444a6e improved logic on whether to include start files
bbc0d440b Added ZigLLVMCreateTargetMachine and pass function-sections flag Also added extra cache line
7d4a0cfed enable segfault stack traces in stage1 compiler
1a1598c58 stack traces on segfault by default for linux-x86_64
7586f613d Added function-section functionality
fc97ef7f0 Add throughput test program for hash functions
7f8643491 Add iterative wyhash api
2d85ff946 added invalid switch prong error
3b374922c fix hashmap using strings as keys
a5a88cc6d and improve autoHash to handle more types and behave more correctly, use wyhash in std's hashmap
cf6175408 direct port of wyhash v2 also inspired by https://github.com/ManDeJan/zig-wyhash
0dd2e93e4 Update for new fmt.zig formatting
0e38f7215 Define different struct size for APValue on Windows (thanks @Sahnvour
027517a0c added init function for `Coff`
92b68c57b fix formatting
8156a61de fix syntax highlighting
7a2b0cc9c fix stack escape in add_source_file(
247e56742 Don't return a slice pointing to a deceased stack address
102bf5200 Fix string literal: not null-terminated (thanks @mikdusan
b780dee3e initialize sections in openSelfDebugInfoWindows
fbb0c8d63 fixed debug info on windows
cc74bf513 Translate IntegralCast; add stage2 test coverage
4b7e04f75 rename std/special/bootstrap.zig to std/special/start.zig
646268875 Use new width format option
2060c7c39 Merge branch 'master' into translate-c-userland
3e0ff32bd Separate with space instead of LF to prevent rendering excessive indentation
b4bd52cc5 Create and render big.Int from IntegerLiteral; group BinaryOperator
ae72a9822 Merge pull request #2775 from SamTebbs33/alignment-docs
ff477361b Merge branch 'emekoi-root-import'
69c7c5de0 fixups
fe2d89007 Merge branch 'root-import' of https://github.com/emekoi/zig into emekoi-root-import
623dbb73d Add check for power of 2 to std.mem.alignBackward
0a0c11685 fix for with null and T peer types and inferred result location type
14abf0fda Add doc comments to alignment functions
1b23c4613 fix switch with null and T peer types and inferred result location type
d422d5753 avoid std.debug.global_allocator in http headers tests
8a251c411 Merge branch 'daurnimator-http.headers'
39112d905 update format function for new std fmt changes
ba29435f6 Merge branch 'http.headers' of https://github.com/daurnimator/zig into daurnimator-http.headers
1ccf6a2c9 compile error for using slice as array init expr type
6cd399575 Merge branch 'daurnimator-logging-allocator'
0041e00a7 fixups
c346b257b Merge branch 'logging-allocator' of https://github.com/daurnimator/zig into daurnimator-logging-allocator
516b5e649 better CLI error message for missing sub-architecture
3c914c63a Remove #2725 workaround
6c195ede5 add test case for defer modifying return value before returned
de369de31 fix comments getting removed after empty comments
01ff0d4d6 Merge pull request #2602 from ziglang/copy-elision-3
0063953d1 added better test cases
517bdea75 fix incorrectly omitting variable declarations
3085d29af Merge remote-tracking branch 'origin/master' into copy-elision-3
5cd4753be add missing error code for DeleteFileW
33f996bb1 all tests passing on linux
07c0d484e net: quickfix on non-existing Address.family
22194efe6 Merge branch 'master' into comment-in-array
7325f80bb improved comment indentation in arrays
32c6f643a disable building self hosted compiler in test suite
ff737cc64 error set, fix peer type resolution: unreachable, unreachable
fa42c99d8 fixed IfTypeExpr parsing
e79e8993e Merge pull request #2750 from cartr/thumbv4-aeabi
f9e26d987 compiler-rt: use more idiomatic switch syntax
b4e40cb59 fix peer type resolution with null
fd4c5f54f all compile error tests passing
0a7732591 fix several compile error test regressions
da68aec33 fix infinite loop when error in peer resolution
cb55803a5 fix implicit cast vector to array
c61e0a078 fix union init with void payload
f5af349bd Merge pull request #2714 from ziglang/fmt-overhaul
843535158 Escape C string literals
cd02630da compiler-rt: Support thumb versions older than armv6
08e8d30dd Add parsing of fill and alignment in std.format
f6d83ba91 fixed comment formatting in arrays and fn params
de2b0cd72 fix compile error when building zig w/ clang
3021e5ca6 align (vector -> array) store to result location
f84599483 Sub, transBinaryOperator: Add
69b90e068 transStringLiteral
b2e06c3bf Observe translate mode in stage2
24400d588 Merge branch 'shawnl-simd2'
7f4de2dfd remove stray abort
b2cbc59e4 Merge branch 'simd2' of https://github.com/shawnl/zig into shawnl-simd2
ca3660f6b increase stack size for mingw
226a23d97 stage1: always render space after `fn` like stage2
c423697c7 Merge branch 'master' into translate-c-userland
1c86a191d Fix order of tokens; omit 'pub' for fn types
020d5b529 compile error tests only for debug mode
4c8b460fe Fix recursive self-referential block
036cc48a8 Merge remote-tracking branch 'origin/master' into copy-elision-3
5e58aa488 uncomment passing std lib tests
38568318a fix some legacy coroutine stuff
9153b17c9 Merge pull request #2733 from emekoi/write-strings
f1c57a7f8 supress warnings for format strings on msys64
3ac9e3c88 make string literal const on windows
4ae95d7ff Translate assignment BinaryOperator statements
6325ffc3f Assign undefined literal (instead of null) when no init value
7e303fa28 fix another crash
2b1695b1b fix std.json regression
86f362ce8 elide redundant safety check when switching on tagged unions
71e014cae stage1: add @sin @cos @exp @exp2 @ln @log2 @log10 @fabs @floor @ceil @trunc @round
987c209b4 heap: make one global instance of DirectAllocator
3c4b255a3 fix implicit cast fn call result to optional in field result
65997f816 Merge remote-tracking branch 'origin/master' into copy-elision-3
be51511d2 Update langref.html.in
726674b2b fix ArenaAllocator
b5f9033d8 uncomment passing std lib tests
727af307c fix return result loc and then switch with range...
ff6d563b0 fix implicit cast to optional to error union to return result loc
5441f7767 fix implicit cast bitcast result to error union by returning
142e77abb fix extern functions returning byval structs
48ccf427a fix nested orelse and nested catch
4299cd444 blocks have result location semantics
ebde2ff89 stage1: update fn_key_eql() for @mulAdd() on vectors
948dc7b30 Link formatting workaround to issue
11526b6e9 breaking: Add positional, precision and width support to std.fmt
4f21dc8a8 fix regression with zero sized array
708f15328 BRANCH_TODO file moved to the pull request comments
0498bd40d fix loops with multiple break statements
2cbcf3f38 Fix absFloat
60b1cf2a8 fix macOS stack trace regression
237233b04 fix coroutines
057b105fa one more test passing
3c541d7be fix peer result loc fn call with comptime condition
6217b401f fix labeled break inside comptime if inside runtime if
78eeb6e9a fix double getelementptr of runtime global
04c25efe1 Merge remote-tracking branch 'origin/master' into copy-elision-3
4ffab5b85 fix optional pointer to size zero struct
c7dc03fcb fix `try` not setting error code on result location
96931228a fix comptime test error for empty error set
974db231a fix extraneous nested union field instruction
e36680d3b fix detection of unable to evaluate constant expression
b588a803b fix comptime modification of const struct field
39ad072a8 test: include muladd.zig in behavior tests
fce2d2d18 stage1: add support for @mulAdd fused-multiply-add for floats and vectors of floats
bbfb53d52 c: add fma and fmaf
79671efd3 fix inline loop behavior with variable result loc
e27da17ff back to many behavioral tests passing
381c6a38b Correct the isEmpty function
77e0c5361 fix problem with inferred error set return result
f90d17cc4 fix bitcast
077f9df15 more miscellaneous fixes
c7bcf1a44 Fix windows create process retry/path search
3ca492570 Merge branch 'kristate-you-are-banned-please-fuck-off'
9050a0754 might need to..., when resolving slice types
8ed88280a Revert "fixes resolving aligment of child type in slice"
fdc6e0af0 fix zero length array literal casted to slice
99112b5d4 fix tiny typo in langref.html.in
e5a0414b0 misc fixes
4e182c7e9 inferred comptime array inits
056800084 fix function calls
74250e434 inferred comptime union inits
21dff1c4e Remove duplicate exe name with zig run
b025193de inferred comptime values rather than elided scopes
d5d0942a0 Small cleanup of fmt.zig
50c8a93a5 mem.concat
6ce2a0398 std: add gimli permutation to crypto
72029c2fc Added HashInt to function calls AutoHash\nFixes issue 2669
4d3356435 stage1: check for null in buf_len and buf_ptr
f4b885000 fix type info crash on extern lib name
aa60d2a68 fixes resolving aligment of child type in slice
9564c05cd better result location handling of inline loops
6bf193af1 better result location semantics with optionals and return locations
60025a370 Merge remote-tracking branch 'origin/master' into copy-elision-3
7c5ceb0c4 standard library integrates with knowledge of stripped debug info
362c79140 expose builtin.strip_debug_info
f8f054b35 fix `@export` for arrays not respecting the symbol name
42ea2d0d1 fix `@export` for arrays and allow sections on extern variables
acf16b5fb uncomment more passing tests
7c074b851 fix peer result locs with switch
2ba29a190 fix peer result location with error code and payload
fdaca1b5f fix a couple more test regressions
eaf74f4f9 fix bitcast packed struct to integer and back
57347aacd fix atomic builtin functions
24cfa3534 allow comptime array literals casted to slices
3cbe82746 fix behavior for nested array literals
efb064449 fix runtime initialize array elem and then implicit cast to slice
9e8db5b75 Remove const on argsAlloc
82ab006e5 HashMap.getValue(
8a2c2da80 Handle putNoClobber errors
80fa871f4 Add HashMap apis that assert the common case
ca0988e1d comment out the behavior tests that are failing
b552e68c1 fix result loc implicit casting optionals and error unions
cdf14baa4 fix double nested peer result locations
0d62c9294 fix declref not writing to result loc
e6fa2ee70 fix nested peer result locs with no memory loc
1526d8971 fix `@bitCast` with runtime scalar and dest result loc var
35352e0f4 fix alignment problem with `@bitCast` result location
278c7a2bc fix `@bitCast` regressions
3ed6acd2d fixed infinite loop when caching packages
ce5d50e4e fix runtime if nested inside comptime if
e12c7d88b made root package available to itself
4ea7685a5 made root package available to all other packages
b3a4ec1bd fix returning scalar values
e1d14e73b fix `@bitCast` semantics when there is no parent result loc
60c386180 temporarily simplify test_runner.zig
fcc0728a3 Update langref.html.in
0ac566892 fix for loop index variable not in scope
515092210 fix not checking return value of resolving result
1c2e88982 fix struct and array init when result casted to anyerror!?T
fc8d88124 fix struct and array init when result casted to anyerror!?T
06f307ff7 fix implicit casting return value struct/arary init to optional
43d52fa4c std: add std.http.Headers field
0f545e5a2 transReturnStmt
a431a73da fixes for crashes and compile errors
b053a6557 fix comptime variables
7411a88d5 fix comptime function calls
33371ab55 Merge remote-tracking branch 'origin/master' into copy-elision-3
d504318f2 remove the final legacy stack allocation
f6d4e2565 use result loc for ref instruction
a0427d29e fix peer result locations in the face of unreachable
4582ec518 result location semantics for vector to array
9a324ecb4 result loc semantics for loading packed struct pointer to packed struct
65f6ea66f result loc semantics for `@sliceToBytes` and `@bytesToSlice`
ee3f7e20f result location semantics for cmpxchg
b9c033ae1 result location semantics for error union wrapping an error
34a22a85c altered all instances of readInt* in std.io (and std.debug) to consume the minimum byte size required instead of @sizeOf().
4f085b8d2 result location semantics for error union wrapping a payload
05e92a51a Use std.math.isPowerOfTwo across std lib
eaa9d8bda result location semantics for optional wrap
c36289511 result location semantics for slices
17b1ac5d0 result location semantics for `@bitCast`
1a51bf630 hook up result locations for union initializations
12b2950bf Merge pull request #2424 from daurnimator/single-linked-list
84e479d94 broken) local var decls, integer literals (part
b0648bfbd std.heap.ArenaAllocator: use singly linked list
ddf7942aa std: Add singly linked list
ed41d10a0 std: existing LinkedList is actually a TailQueue
b7811d326 whitespace cleanup
9c2ed8d10 Merge pull request #2525 from daurnimator/uring
6c160b885 Add check for null body in if, for and while
4565f50ef std: add linux kernel definitions for io_uring
ae604b446 std: add linux kernel_rwf type and preadv2+pwritev2
a712a5515 std: testing.expectEqual on structs now works
39bc82561 fix array literal syntax
ebedc99ac std: add math.isPowerOfTwo
af35b73b9 Merge branch 'sfc64' of https://github.com/Sahnvour/zig into Sahnvour-sfc64
5017a1d89 fix build on macos
4e2b2822f inferred array size of array literals works
3a4b749c8 Merge remote-tracking branch 'origin/master' into copy-elision-3
b73576489 different array literal syntax when inferring the size
59fe13772 result loc semantics for array initialization
3ec766abe remove ResultLocField dead code
69d9f322e implementation of the Sfc64 RNG from PractRand
8e0670198 allow comptime_int in math.shl and math.shr
10e33b353 grammar
ad064b4a0 docs: update for else example
586c36dd1 Restore fn decls removed during conflict
ad0f0562d Merge branch 'master' into translate-c-userland
ed5b8335b broken) translate Paren type
1692a76d2 transImplictCastExpr: LValueToRValue
1f82c7ba2 transCStyleCastExpr
771e88951 result location mechanism for struct initialization
720ed7441 add bcmp implementation as LLVM 9 now emits those
404e4b026 docs: add comment about for else and break
52eb34718 hook up result locs for `try`
a2fff2628 hook up peer result locs to orelse keyword
b1efba0c7 hook up peer result locs to catch
2b0a1b7b1 hook up result locs to for loops
ede3436b0 hook up peer result locs to while bool and optional
ec8d8a977 hook up while on error unions with result locations
0e8b65c53 hook up peer result locs to if optional and if err
ec17f4ebb fix behavior for peer result locs with one prong unreachable
5784631fa update the default macos version min to 10.14
786f3cdd1 ci: let's try a new build of llvm+clang on 10.14
4c222a482 fix behavior for non sret fn calls
76a3938d6 no-copy semantics for peer result function calls
fb5e03b98 Merge pull request #2628 from emekoi/error-unexpected
a682b0acb Merge pull request #2630 from squeek502/hashmap-pow2
8f4229a61 std.HashMap: use std.math.ceilPowerOfTwo
656ac4373 std.HashMap: optimize indexing by avoiding modulo operator
26613bfa0 switched to fixed-length buffer for error messages
0288034c2 fixed mismatched types
ddfab40e3 netbsd} to usingnamespace, updated std.c.{freebsd
0aabfb09f removed duplicate definitions
b74bcc9d7 windows.unexpectedError prints a human friendly string
fdddd1310 add cache-control headers to tarballs on ci
ca989a95d Merge pull request #2617 from squeek502/ceil-power-of-two
a0d66fa1e std.math: Clarify ceilPowerOfTwo inputs and disallow zero as an input
b19b1c129 no-copy semantics for switch expressions
d83b15feb src/ast_render.cpp: fix rendering of character literals <= 0x0f
291aaee97 Stop the musl builder from skipping necessary files
fd771ea9f Added LineComment support when MultiLines are used in ArrayInit also added the corresponding testcase
7eb82b865 std.os.mmap: update doc comments for previous commits
a608ebaa5 Merge pull request #2581 from LemonBoy/misc-stuff
8e109aec6 Merge pull request #2620 from LemonBoy/debug-stuff
80cd142c9 Propagate DIFlags to LLVM
ebe921e48 Make `void` a signed type
057b96006 fix the rest of the ir_build_alloca_src callsites
a32abcd36 no-copy semantics for if optional and if error union
143d6ada8 no-copy semantics for for loops
d4054e35f while loops
b6108eed5 fix alignment of consts
eb8a132d2 alignment, and comptime, var types
735543d50 add missing ir_expr_wrap calls
9bed6e1bf std.math: Add ceilPowerOfTwo and ceilPowerOfTwoPromote
3eca5a42e fixed Deserializer.alignToByte() and added test coverage
46cbed621 Move dl_iterate_phdr to os.zig
4b30e40a9 Remove length restriction in mmap wrapper
6d73e5de0 doc: recommend optional pointers for nullptrs instead of allowzero
ccce3d852 no-copy semantics for function forwarding
461382ae9 no-copy semantics for function call init var and literal
8aba0643a peer result locations with mixed runtime/comptime
3702c278e local consts with comptime init exprs
95d983589 no-copy semantics for nested if
a4aca7872 no-copy semantics for if expr
5e1003bc8 no-copy semantics for basic runtime function call variable init
0ccd91fae Merge pull request #2593 from LemonBoy/aarch64-stuff
78f32259d default struct field initialization expressions
7878f9660 dep tokenizer: run zig fmt and move exports to canonical location
5954d5235 Merge pull request #2182 from mikdusan/issue.2046
51fc375b0 Correct flag definitions for arm64
477ee9c8b Fix some syscalls on arm64
8ca294c43 update load dynamic library test for std lib changes
8eaf1387c Fix fmt.zig handling of slices of slices
f9e7bd268 std.meta/trait: def/definition => decl/declaration TypeInfo: defs/Definition => decls/Declarations
01a4897da improve the libc of wasm32-freestanding target
4188faeac but are rather accessed via a union., stage1: AstNodes cannot be casted
4e1f3a9ba Correct formatting for multiline string in arrays
7bfae39c5 Merge branch 'NBonaparte-linuxdynlib'
e716c9ba4 build_examples: reenable load_dynamic_library
dab1dc79a LinuxDynLib: remove MAP_LOCKED flag
345501a72 Merge pull request #2567 from emekoi/fix-dynlib
c66a74704 Merge pull request #2546 from LemonBoy/sigaltstack
bfc86776d run zig fmt to update `use` to `usingnamespace`
8a4ee5942 zig fmt: fix 2 bugs of mangling source files
b7a82288a change `use` to `usingnamespace`
3e14f86f9 Implement missing clang functions from last commit
9a7cf73b3 main: set subsystem in `zig builtin` when explicitly provided
6dbaae4c4 Merge branch 'emekoi-builtin-subsystem'
3819654c3 codegen: initialize subsystem
1ab0ac3ea cleanups for windows subsystem in builtin.zig
b461e600e set subsystem to null if not on windows or uefi
6bc5b07e3 try to resolve TargetSubSystemAuto to actual subsystem
fb5dc2892 added subsystem to builtin.zig
b8d1060f0 Add missing sigaltstack definition for darwin
399e026cc Add sigaltstack wrapper in os.zig
7017388e9 Merge branch 'LemonBoy-use-struct-pt2'
1ccbd1fb6 `use` works on unions and enums in addition to structs
9891c4f30 Merge branch 'use-struct-pt2' of https://github.com/LemonBoy/zig into LemonBoy-use-struct-pt2
2975bdc68 add review changes
f9ada1cfb Merge pull request #2530 from gonzus/gonzus/improve-clang-zig
b66438eb8 no "use of undeclared identifer" in dead comptime branches
528c151a5 Reject undefined as type
a169d844c Warn the user if run/test is paired with emit options
048169cbe Avoid a crash when there are no namespace components
9d1683942 fix invalid LLVM IR generated for ?*void const casts
508fdfea7 link to contributing in readme
a37ea5acf extract CONTRIBUTING.md from README.md
8a6547880 Create FUNDING.yml
e2c226343 Move __zig_fail_unwrap locals on stack
568dc5623 Merge branch 'LemonBoy-guard-pages-in-threads'
c518b7b8b thread.spawn: bubble up mprotect error.OutOfMemory
381f84528 Add a guard page for each thread
594366a48 Fix os.mprotect signature
f2b64fd18 updated dynamic libraries to new std
6547468af clang.zig cleanup #9: rename arg0 to self
8d50d4f3f clang.zig cleanup #8: add missing consts
b63944726 clang.zig cleanup #7: add missing struct
f4b4ea402 clang.zig cleanup #6: move block around
fd9e63da5 clang.zig cleanup #5: add missing enums
7f1dd05fa clang.zig cleanup #4: move block around
5df2e791c clang.zig cleanup #3: move block around
abf97cc23 clang.zig cleanup #2: move block around
333c050a1 clang.zig cleanup #1: move block around
775a25b7f Add declarations missing from clang.zig
b8cd4b18b remove unneed allocator from DynLib
bcdbd8d16 Add sigaltstack syscall
e632c2ade broken) port a bunch of stuff from stage1 translate-c
d1b6f29d2 Merge pull request #2523 from shritesh/wasmdoc
b558d0996 expr: DeclRefExpr
3f302594b respect subsystem flag in all cases
f924fbddc Merge pull request #2552 from Sahnvour/issue-2543
e07888e54 expr: FunctionToPointerDecay & ArrayToPointerDecay for ImplicitCastExpr
2c0280ba0 improve the stack check CLI options
22299869b Prevent infinite recursion
e1f3eec9c Merge branch 'master' into translate-c-userland
3fccc0747 self-hosted translate-c: fix bad memory arena references
d4b241c14 new .d file parser for C compilation
f68d8060e Merge pull request #2526 from LemonBoy/arch-format-osx
6a5609121 Merge pull request #2527 from ziglang/posix-layer
2aa1c5da5 Remove unused local struct type
d110818cf Trigger rebuild on sr.ht
3bbee1ba2 expr: BitCast for ImplicitCastExpr
3640303ce freebsd fixes
af4b8eb6c windows does not integrate cleanly with libc
86bb7e598 fixes for windows to build self hosted compiler
5de07ab72 revert hello world examples. macos tests passing
db0a5e751 darwin: add missing error handling
b3dc1c380 use close$NOCANCEL on darwin
13265cf7c std.fs: fix error set regressions on linux
06435535d fixes for darwin
f1610f6c1 nanosleep: move windows logic to std.time
abf959a0c fix debug builds of WASI
fda7e0bb0 std lib fixes for zig build on windows
5a91dbc16 allow const to be passed to @hasField(
129714d07 more fixes for windows and wasi
6be79d79a fixes for Windows and WASI
0c6ab61b2 tests passing on linux
9c437f903 var decl: ImplicitCastExpr
1a8f8c626 var decl: init node
c79b8aeae var decl: threadlocal
2b42e910b behavior tests passing on Linux
99f0b28d3 create child scope, var decl: mut_token
fceedada5 WIP translate var decl
44a049e01 more cleanup. down to just the `@hasDecl` builtin
2f040a23c clean up references to os
7cb6279ac clean up references to posix
ca6debcaf starting to fix the regressions
3d61e4228 rename "posix" to "bits"
17b0166e0 do Jay's suggestion with posix/os API naming & layout
2def23063 more progress. moving windows API layer to its own file
daae7e1f5 more progress on posix API layer
67726e36b extract posix functions from std/os.zig to std/os/posix.zig
df7aa9a4f allow implicit optional pointer to optional c_void pointer
269a53b6a introduce @hasDecl builtin function
21ed93911 support enum literals implicit casting to tagged unions
99ee0608f gen-h: do not output visibility macros when the build is static
c89b52223 test: slightly better output for failure of tests based on text comparison
86b3007b9 Reject slices in use expressions
9b7ad1248 Implement @unionInit
b618a0b86 doc: wasm: embedded->host
9e65a144f docs: clarify why wasm_allocator should be used
f67ca2065 Make use work with arbitrary structs
798720224 Fix signedness mismatch in comparison
266b2de15 Remove macos-specific linking hacks
f5657b555 Build archives using the K_DARWIN format when targeting osx
163a8e98b std.fmt.parse_float: Fix exponent calculation
3b6fc3fdc docs: wasm
1c73c0829 ran zig fmt on stdlib
6672ee9eb Fix too eager comptime evaluation of error ptr
b660134a1 Use the correct scope for `use`
860684cc2 Merge pull request #2516 from LemonBoy/32bfix
0a3aec020 Fix load/store of non-integer fields in packed struct
232bc1bde Remove more 64bit-centric assumptions from stdlib
695792719 Fix some test cases to run on 32bit systems
51aaa0267 VDSO calls must use the C CC
2eba779af stage1 tokenizer: add more missing break statements
87901baa2 Add break after digit_value check in TokenizeStateCharCode
e09c05f68 Merge branch 'shawnl-builtins'
80983ca1c fixups to the previous commit
1fdb24827 breaking changes to all bit manipulation intrinsics
56a905c7d docgen: add lib codeblock type and use it for wasm32-freestanding
8468ff0fe Merge pull request #2507 from ziglang/wasm-libs
978fab817 the wasm freestanding _start function is return value void
81e960eb7 improvements to build-lib use case of WebAssembly
07d0aee11 clang C API wrapper: small progress
e30cd800e std: update linux syscalls to 5.1
6b36b756e fix static builds of zig from requiring c compiler
b64e6cb81 change wasm obj ext to .wasm
14cdb01f3 improvements to zig's implementation of libc and WebAssembly
3aa43dc31 update libclang C API wrapper
787fd0f1b Fix off-by-one error in LEB128 parsing
057a5d489 slice types no longer have field access
5a5761003 clean up code now that #769 is implemented
e93a05b6e switching on error sets makes new error set for capture values
c08c222d5 fix regression on switch capture value for multiple cases
df4f77024 else value when switching on error set has
6536b409d Don't emit DW_TAG_lexical_block for VarDecls
b64cee2ec Merge pull request #2482 from ziglang/linux-elf-read
08d41da91 Fix formatting for multiline asm expressions
66d86eccb Merge branch 'LemonBoy-asm-cc'
7330a6102 cache_add_dep_file: handle ErrorFileNotFound specially
f3db3b3c1 Merge branch 'asm-cc' of https://github.com/LemonBoy/zig into LemonBoy-asm-cc
a038ef357 Assemble asm files using CC
c4d1597f5 Mmap debug info on linux
c1793d610 zig fmt on the standard library
ed5a6d74a Merge pull request #2405 from hryx/stage2-recursive-parser
173142b16 Undo parse2 import
0d629421c Recursive rewrite of stage2 parser, final sync
3a3a73847 Recursive rewrite of stage2 parser, part 3
3787f3428 Merge branch 'master' into rebased
16aee1f58 Fix memory leak in parser tests
4e28c2571 Recursive rewrite of stage2 parser, part 1
edcc7c72d Merge pull request #2459 from LemonBoy/enum-num-um-m
d210628c9 Amend the error messages
b05e8d46e Change the enum value allocation strategy
655794f44 amend type_is_valid_extern_enum_tag
c766f3f9c Support signed types as enum tags
917bd4192 Validate enum tag for extern enum
6cf7fb117 fixes #2235
ba3d18a80 added grammar rule for enum literal to docs
e5a0e21a5 Merge branch 'master' of github.com:ziglang/zig
fb3b943b0 added tests for global variable declaration syntax
32efa68f9 Merge pull request #2449 from Sahnvour/directallocator
b2a196e01 Merge branch 'master' of github.com:ziglang/zig
c05190490 Fixed parser for extern threadlocal variables
10e9d47b4 stage2 translate-c: implement functions with no prototype
2ef2f9d71 Merge pull request #2475 from LemonBoy/linux-wo-vdso
cd537f822 Use unprotected heap when in single_threaded mode.
a2d5b0fab Implement Windows' DirectAllocator on top of VirtualAlloc and VirtualFree.
3d93c89fc std: the failing allocator didn't actually count allocations
6756e545f Fix more corner cases in LEB128 parsing
1b23348f3 linux: Minor `zig fmt` induced reformatting
715d808f1 linux: Fix clock_gettime on systems w/o VDSO
5f4c3e655 stage2 translate-c: simple function definitions
dbb5da14f stage2 translate-c: builtin types and pub
82219b1fd translate-c: better handling of restore points
2933d6b84 add test case for previous commit
fee0e6c8b fix hang for some compile errors
a6f7a9ce2 translate-c: we have our first test of self-hosted
d065f297a stage1: compile error for loop expr val ignored
6b10f03b4 Fixes and simplifications for stage 1 parser
bcf4d2028 Merge pull request #2465 from LemonBoy/builtins-for-wasm
1606dae72 Fix erroneous test case
7fb55ce2b compiler-rt: Add __ashrti3
fbffece1b compiler-rt: Add __lshrti3
7db2aa1c2 compiler-rt: Add __ashlti3
1c0223899 translate-c: progress on self-hosted function prototypes
f8b7ea119 Merge pull request #2461 from LemonBoy/dwarf-leb128
09cff0d2b fix translate-c regression
8cc4eaea9 Use matching types when parsing fields
4d8f96dd8 Fix minor bug in LEB128 parsing
eea2de108 translate-c: progress on self-hosted function prototypes
214625587 translate-c: use C API for builtin types
010963ce4 stage1: make some asserts print source location
c459edac1 compile error for attempt to cast enum literal to error
72899da44 fix std.os.copyFile
eb65410b6 translate-c: enough C tokenization/parsing to handle shifting in macros
62065a9ae translate-c: handle int to ptr and ptr to int casting
a7346ea49 fix build on macOS
4b9e12be5 Merge pull request #2452 from LemonBoy/more-more-builtins
46e1c34fc self-hosted translate-c progress on function decls
9bbd71c9a add --bundle-compiler-rt function to link options
3bd5c16f3 stage1: remove unneeded extern function
e3542196c translate-c: NULL pointers translate to `null`
9c12237d2 std.debug: fix stack trace iteration code
a4aee8b24 C pointers support if and orelse
4208fa9ad compiler-rt: add __floatsitf
383b8a032 compiler-rt: Add __aeabi_unwind_cpp_pr{0,1,2}
2dce137d9 compiler-rt: Add __extendsfdf2
2be066d05 compiler-rt: Add __floatdidf
d4434dfb6 compiler-rt: Add __floatundidf & __floatunsidf
92fd2df05 compiler-rt: Add __truncdfsf2
0099583bd C pointers support .? operator
c00167e91 compiler-rt: More division intrinsics
917103710 compiler-rt: Add __floatsidf & __floatsisf
50bbb3459 C pointers support `null`
be7cacfbb Implement stack probes for x86/x86_64
d665948dc Duplicate windows's DirectAllocator as HeapAllocator, which it is in reality.
24ee76531 Merge pull request #2448 from markfirmware/patch-1
b083ef18e Update README.md
9c0596e62 Merge pull request #2427 from LemonBoy/linux-tls
097a62555 Merge pull request #2439 from LemonBoy/fixes-fixes-fixes
043bd7162 Add ARCH_SET_* definitions for x86_64
b1db696c1 Less error messages
2f041239c Always initialize the TLS
cfcf02489 std: Implement on-demand TLS allocation
d8ab301aa std: Implement TLS support for Linux
4ab7b459d Avoid endless recursion in __extendhfsf2
94b504c9e Fix float comparison result in __aeabi_{f,d}cmp*
a3beda27f Add missing cast to usize
7432fb04d Merge pull request #2354 from LemonBoy/iterate_phdr_impl
939ec878a Fix edge case in addXf3
60242e96d Fix definition of epoll_* struct on non x86_64 arches
d1f9b8184 docs for @hasField
c19bdc2d3 stage1: add @hasField() built-in
a095db0df Add a test case
7a41af263 Merge pull request #2422 from tgschultz/stdlib-packed-int-array
07dfccf96 Review
5d347c01c Merge pull request #2374 from LemonBoy/fileszoff-reform
6a34da963 Merge branch 'LemonBoy-stdlib-32b'
09cbcf884 std lib sleep APIs: add doc comments and no @intCast
70a9ee3dd Merge branch 'stdlib-32b' of https://github.com/LemonBoy/zig into LemonBoy-stdlib-32b
6f0aa801c Merge pull request #2404 from squeek502/hash-map-ensure-cap
21c8d57fc Merge pull request #2326 from daurnimator/sendmmsg
14a00d382 zig fmt
8c28b5960 Added ability to specify endianess of PackedInt(Array/Slice
27ed525e0 zig fmt
98bc2b73b Implement failsafe logic for posixSleep
b612512bb std: Remove some assumptions about the host platform
cf8dde2d6 std.HashMap: cleanup ensureCapacity + add test
4dfd1f54d Ugh. I updated these but forgot to git add.
7dc71cdc4 and again
3e3bdd577 Fixed some comments
e2fd37e75 Added PackedIntArray, PackedIntSlice to std
f4798297d wasi: Implement read and write with err checking
2f3b46170 __umodsi3, compiler-rt: Add __modsi3
1be4e87f0 __divdi3, compiler-rt: Add __moddi3
077216b58 Address the comments of the first review round
584dd2863 Merge pull request #2409 from shritesh/wasi_native
f86b8e453 WasmAllocator: compileError on non-wasm arch
2f39da7cd docgen: show -target command line argument
5c04c22bc docgen: support wasm and wasi
f6937db7d remove redundant information from README
bd9c629c4 always respect threadlocal for variables with external linkage
8cda4fd73 docs: remove `@setGlobalLinkage` section
8d58dc715 Switch wasm export-all to only values marked exports
fca3e3a73 std: add std.ArrayList.orderedRemove
355218014 optimize `@memset` with `undefined`
13a7b8586 std.HashMap: make ensureCapacityExact private
26591d4f2 std.HashMap: add putAssumeCapacity fn
4d42275d0 add ensureCapacityExact, std.HashMap: make ensureCapacity optimize for the expected count
a530a111a wasi: remove posix-y exit
84682eb86 wasi: implement os.exit
6fb677c4f wasi: native os.abort
f8117a079 docs: update for shared libraries
0afa2d040 make std.HashMap.ensureCapacity round up to the nearest power of two
f950ec0c1 Merge pull request #2397 from ziglang/std.math
3370e60dd std.math: Correct math.nan usage in cos
8b7c59a41 std.HashMap: add public ensureCapacity fn
c00c18de6 main: change --enable-pic and --disable-pic to -fPIC and -fno-PIC
6e4f69a54 docgen: add exe_build_err tag
54a93e539 docs: add note to @setRuntimeSafety
40fe6afda Don't install zig_cpp lib for stage2 target
89d71a960 std.math: Add documentation for all functions and algorithm sources
f94964cd0 std.math: Add upstream changes/fixes and simplify go derived code
7bbc8eb16 wasi: import all core exports
f53abf406 wasi: import all constants and their types
bb0c5f7a2 Merge pull request #2392 from shritesh/wasi_clock
d395ed2d4 wasi: implement timestamp
0ce05fa62 wasi: import clock and timestamp function/types
1fabd6bbf wasi: implement getRandomBytes
79a139ac6 Merge pull request #2390 from shritesh/wasi_env
0a693b70e wasi: use mem.separate instead
20458f56d wasi: add getEnvMap
8e700bf92 wasi: import environ_get and environ_sizes_get
9dfd24a33 add test case to cover solved bug
92122f988 WIP make shrinkFn optional in Allocator interface
81767a658 Don't install stage2 artifacts
b4f8d68e2 translate-c: fix using wrong enum
fd056752d std: add sendmmsg on linux
a7f99c8ee self-hosted translate-c: iterate over top level decls
01365be82 WASI: implement argsAlloc and argsFree (#2364
77383f968 translate-c: Emit @ptrCast + @alignPtr sequence
b1a61a6d5 compiler-rt: Add __mulodi4
d2328ac71 Merge pull request #2372 from LemonBoy/aeabi_idiv
75d42ace3 Merge branch 'squeek502-readme-std-lib'
360ab8310 readme: expand Developing Zig section into Contributing section
fe80c15c4 Merge branch 'readme-std-lib' of https://github.com/squeek502/zig into squeek502-readme-std-lib
a4e506510 Fix crash due to command line argument parsing
e3452ba21 json tests do not need this prefix anymore
da28811c5 enable more json tests
4b6f35036 DirectAllocator: move if > 0 condition above @memcpy
3c13aa178 and munmap in direct allocator, std.heap: do not excessively call mmap
8afa1e800 fix build (unused function warning
4e241263f __aeabi_idivmod, compiler-rt: Add __divmodsi4
738562e99 __aeabi_idiv, compiler-rt: Add __divsi3
d3c88a894 Merge pull request #2139 from emekoi/lib-on-mingw
9902b604c Fix generation of container initializers
fbcc559cd Make io offsets/sizes u64 instead of usize
6057513cc fixed visibility of zig_libc_cc_print_file_name
205e501e4 std.fmt: add max_depth to avoid infinite recursion from self-references
bc1840e18 Revert "std: Add mem.nativeIntToBig and mem.nativeIntToLittle"
66f3ef06e fixed syntax error
ad7927a74 std: add LoggingAllocator prototype
dfada0cc7 added static_crt_dir to libc file
d02489fd9 fix missing semicolon
2d6520d5d zig fmt is built directly into stage1 rather than child process
ac3946620 Merge pull request #2357 from squeek502/heap-shrink-large-align
efc5122fb docgen: properly close tags for skipped execs
6936f0514 readme: Fix filepath to test file when testing std lib changes
28071ac63 self-hosted translate-c emits a hello world AST
c82acdbb9 clean up test output
1d95fdaf6 Fix path canonicalization when $HOME has a trailing slash
9ec4ccc68 Do not invoke UB in BigInt shr operations
4df2f3d74 Change symbol name of tests in codegen
afc33f00e heap: fixup style of realloc memory copies
57f545eed std.heap.DirectAllocator: reduce the amount of redundant memcpy calls on Windows
92d9cef07 Merge pull request #2332 from ziglang/translate-c-userland
17ffe166c add preliminary windows support to std.io.COutStream
e1bf74fca it's necessary, translate-c: put -x c back in there
535d41959 translate-c: self-hosted implementation can detect C errors
712274997 translate-c: unify API for self-hosted and C++ translate-c
976080462 translate-c: a little closer to self-hosted implementation
56e07622c Merge pull request #2312 from squeek502/heap-shrink-large-align
8ef7f6feb remove Shebang (#!) support
fb2acaff0 `@sizeOf` returns 0 for comptime types
733c547a6 compiler-rt: Add missing import of test for comparesf2
01168e157 comparedf2, compiler-rt: add aeabi_dcmp
e4825dbd7 Other
12eff09ff Expose Elf32_Dyn and Elf64_Dyn
074ddf1ac Implementation of dl_phdr_info
ad994c964 Merge pull request #2296 from LemonBoy/translate-c-stuff
7bafe2e49 Fix alignment of macro FIND_AND_ADD_CLANG_LIB
06bf91843 Sync grammar with spec
5de934810 add -fvisibility-inlines-hidden
ed4195552 build libuserland in cross compilation mode
e4a86d465 Merge pull request #2351 from ziglang/fixed-2346
1a2e02e26 fixed #2356
e553ade09 Merge pull request #2335 from hryx/no-tag-expr-for-struct
3bc361178 Merge pull request #2344 from LemonBoy/dbg-things
374d16793 Go one instruction before the return address
b095e3366 Fix silly typo
57ec183c0 Fix reading of signed leb128 values
70c2e86da Add translation from pointer to boolean
a44ad0895 Add some zig_panic for 80-bit float codepaths
9ea600b63 Correct rendering of AST Char literals
8d05330cf More precise translation of char literals
ab424bbb3 translate-c: Add test for implicit casts
69bc5fd04 translate-c: Pointer to/from integral conversion
d3dd49c40 translate-c: Support for integer to boolean conversions
8ce130de3 Bump up FixedBufferAllocator test memory to account for new tests
b3598163d std.heap.DirectAllocator: Fix aligned reallocs on Windows
5765cbd2d Allow tag expr for enum but not struct
af7daae26 readme: Simplify instructions for making changes to the standard library
e64c0dee3 readme: Add instructions for making changes to the standard library
0f8fc3b92 fixed stack protector issues
211f0a222 std: Add mem.nativeIntToBig and mem.nativeIntToLittle
217b95da3 std: add msghdr_const
9babcac7a std: improve msghdr definition
66020856b fix heap allocators when shrinking an object but growing its alignment
bb25f212b comparesf2, compiler-rt: add aeabi_fcmp
22f5e5fd3 Fixes DirectAllocator Windows implementation to call HeapFree when new_size == 0
b864fe7e2 Merge branch 'LemonBoy-dwarfy'
9b83fe6b4 fixup and zig fmt
907a7068c Merge branch 'dwarfy' of https://github.com/LemonBoy/zig into LemonBoy-dwarfy
c2542bb7b Recover symbol infos from DWARF sections
1030cc97c fix DirectAllocator not unmapping unused pages on large alignments
f4c5fa7ff renamed add_gnu_link_args
d44d2784e zig-fmt: allow comptime blocks in containers (#2308
0286be127 Fix parseFormValueConstant
19b8278f9 translate-c: Convert char literals
6d95c5d15 translate-c: Parse float/double literals
1fda44cbc translate-c: support conversion to/from fp types
3b6a4fe4c Fix test in langref to assert against modified var
a10a1efc8 ci: fix accidentally shipping zig0.exe
ff3cdbc3a and have stack traces, stage1 assertions always on
4ad7d09ba build: rename zig1 to zig0 to avoid confusion with stage1
bc2d60c11 Merge pull request #2295 from ziglang/stage1-hybrid
da8403bcd build.zig: libuserland expects to against libc
89763c9a0 stage1 is now a hybrid of C++ and Zig
4c0374692 Revert "DirectAllocator: on windows, use HeapFree instead of HeapReAlloc to free memory."
b29241fc0 docs: update intro text
611d4bc6a stage1: const_values_equal support tagged union
52caf311b Merge pull request #2286 from shritesh/wasm_alloc
0c28a18d9 WasmAllocator: cleanup
71bb8cd53 DirectAllocator: on windows, use HeapFree instead of HeapReAlloc to free memory.
4e2f6ebf3 freestanding target adds -ffrestanding to cc parameters
3226b5315 translate-c: move some code to the C API
f488f3fd0 remove workaround for LLD bug
c8b60538e add patch to LLD to fix deadlock race condition in wasm linker
4235982fe fmt wasm_allocator
aa3f31ac0 wasm: add WasmAllocator
f2119f996 wasm: WasmAllocator that uses fixed 64kb pages
0a280b606 update std.os.page_size for WebAssembly
6692cbbe1 disable threads when linking WebAssembly to work around an LLD bug
579dd7411 fix Debug mode when error return tracing is off
f5d84250a wasi: switch to "standard" wasi_unstable module fn
3b8a85c94 Merge pull request #2281 from shritesh/wasm_module
a0d218519 wasm: add wasm-import-module attr to extern
9465c6d53 link: exemption for wasm instead of wasi
5cb18e9c6 translate-c: move some code to the C API
cc8cf94cb Update wasm tiers (#2272
27253f09b organize how the single threaded option is passed around
63a970a54 Merge pull request #2268 from shritesh/wasi
0f1d92e2c wasm: force single threaded
94e087160 wasi: don't pass --no-entry to linker
ecd0f8925 wasi: better extern wasi logic
93d43d452 wasi: add std/os/wasi{,/core}.zig to CMakeLists.txt
22960a5fd wasi: better comments
a2d8f0309 support extern "wasi" functions
93528be6b wasi: sigabrt at panic
fe9cd0b4b wasi: use __wasi_proc_exit instead of posix.exit
68d7e4a1b better handle quota of setEvalBranchQuota
a43fd7a55 Add favicon to langref.html
4a2ccd6fb Merge pull request #2266 from bnoordhuis/fix-cache-lseek-ebadf
72bcd5a4a WIP: hello world
93e89b3b7 don't close cache manifest file prematurely
ea5518f69 make os_file_close poison file handle after close
9d229791c translate-c: move some code to the C API
63f2e96ee wasm: use .wasm ext for exe
6284a4c53 translate-c: move some code to the C API
f860493f2 translate-c: move some code to the C API
6f34d08ae translate-c: move some code to the C API
5f8dbcac0 wasm: disable error ret tracing
b960f1d92 translate-c: move some code to the C API
4172fe986 readme: separate powerpc 32 and 64 bit in the support table
3ce024dd8 A bunch of fixes for the DWARF parser (#2254
a895c5997 delete unused function
27cd830ec Add initial support for iOS targets (#2237
51eb4ebec Distinguish between absolute/relative addresses
b59c65e98 Merge pull request #2102 from ziglang/big.int-additions
38492b2ea Fix reading of reference attributes
29ec409b5 Add definition for DW_AT_alignment
795b3e9b6 Fix reading of udata/sdata encoded attributes
dff201540 translate-c: move some code to the C API
8f5753ba9 Fix normalization of right-shifted BigInt at CT
78af62a19 Pack big.Int sign and length fields
87d8ecda4 Fix math.big.Int divN/gcdLehmer and fuzz-test failures
30788a98b Handle zero-limb trailing div case in big.Int
d3e1f3236 Small fixes for big.Rational and corrections for gcdLehmer
b3ecdfd7b Fix big.Int toString maybe-null allocator
5f4fcd503 Add initial big.Rational type
ea1d2a240 Add read-only, non-allocating Int for internal constants
e309ad884 fix outdated/incorrect docs for `@truncate`
a4c7e4c4e __muloti4 does not need the ABI workaround on Windows
13798d26c pass exec_path to zig run
666e87992 Build compiler_rt for WASM exe
a71bfc249 compiler-rt: better way to do the ABI required on Windows
60e2a0432 Correct parsing of DWARF line_info section
52934851f compiler_rt: `@divTrunc` rather than `@divFloor` in muloti4
aff2e4782 compiler-rt: correct use_thumb_1 flag
dea1027f9 doc comments for parameters in std.mem.Allocator
cca02a4cf Update README headline to match website
98fa065de docs: Underline link when hovering over it
bddbbef32 Release 0.4.0
43e219b0d Merge branch 'master' of github.com:ziglang/zig
f86ea797b Import 1607.zig to behavior.zig
6a78b315b Fix std.HashMap.remove returning incorrect KV
6715c54cc Merge pull request #2205 from kristate/zig-backport-issue532
fae0c3519 test/compile_errors.zig: add regression test for ziglang/zig#532 ;
627b52fe6 src/ir.cpp: don't call-out to analyze_type_expr;
7c38651a6 Merge branch 'master' of github.com:ziglang/zig
6960cd156 Added regression test for #1607. fixes #1607
77c203615 Merge pull request #2200 from ziglang/fix-1726
65cf5a8e4 removed todo comment and added test
3109c8985 fixed 1726
f00adb47f ir: avoid dependency on isnan
974977f12 docgen: add a space between the header and the section symbol
83390bdfd fix dereferencing a zero bit type
3854bb919 wasm: Pass --allow-undefined and --export-all to the linker
66fab05eb build: usageAndErr clean exit (#2194
895e6eabc Fix getCurrentId test for pthreads (#2197
d72239d33 Add divdf3 to compiler_rt
1f9ebf49f ci: stop doing the branch redirect thing
f6be6ace1 docgen: allow urls to have numbers
fd65cdc55 fix incorrect Thread.getCurrentId test
c47c2a2f2 stage1: fix debug builds on macOS
846f72b57 zig build: support single-threaded builds
a5b47bc2c docs: update `@typeInfo` definition and clarify field order
2f236e6ef fmt: support trailing comma after var_args
6cc2d3938 support comptime_int in formatInt{,Value}
3cce56af9 docs: Use section symbol §, not paragraph symbol ¶
c24a49a1a Fixes to divsf3 (#2186
aecbd1892 Simplify math.isnan
1dc675172 fix NaN comparing equal to itself
0bd4901a1 fixed linking of system libraries on mingw
6cc443ee4 added code for linking libc on mingw
ecd2332bb made lld flags on windows consistent
8e6ff8d61 fmt: format multi line only on trailing comma (#2184
5866dfe4d Merge pull request #2109 from emekoi/fix-mingw
be0f656c2 fix `@divFloor` returning incorrect value and add `__modti3`
12c4ab392 Add divsf3 to compiler rt
7dd1e0fc2 docs: add Variables section
c195d645e add regression test for #1025
947c87b55 threads: fix using unmapped memory in some cases
e827b9661 zig fmt: Prevent for-else on same line when body is interrupted by LF
cec8c8678 zig fmt: Fix regression in for-else (#2178
90b6eab05 docs: complete the documentation for extern struct
e4d595a8b fix thread local variables for non- position independent code
70ae3222b handle LibExeObjStep.disable_gen_h
4795f161e Merge pull request #2175 from tgschultz/stdlib-serialization-minor_changes
b60f2d0c9 langref: rework the theming and layout
fe33d8ea1 Changes as suggested by andrewrk
692086f89 ci: add missing cache control headers and update download/index.json
ba774c569 De)serializer now uses enum instead of bool to determine packing mode (byte/bit). Optional is initialized in a more straight-forward way by deserializer.
85edf55b7 Merge pull request #2135 from ziglang/decouple-llvm-types
025a1475c emit better debug info for enums
6a7b75b73 fix LLVM assertion failures
15bd4aa54 fix setting union body twice
e9dc50414 avoid tripping assertion for setting struct body twice
d577dde63 passing all tests
9780fd59f put the alignment hack in for unions too. fixes std tests
cb0241fe4 behavior tests passing again
4c38a8cce more regression fixes. empty test passes again
5aee17e88 regression fixes and fix packed struct abi size
ddb8aa73f more regression fixes
30b2fb2fb bug fixes
d7bc7635c put the hack from master branch back in
d3f2fe2ce remove the lazy value stuff
3dc844868 introduce lazy values
ee5064c05 decouple llvm types from zig types
2f96c5509 fix cache hash regression
0cccba71d better error message when os_file_overwrite fails
27e31f047 fix fd leak in stage1 cacheing code
3c27d9c25 Merge pull request #2147 from emekoi/fix1940
3199792ad Merge pull request #2150 from vegecode/armv7m-compiler-rt
c76d51de9 zig fmt: Allow one-line for loops
d64550088 fmt: fix first line comment indent in struct init
bfbfb7b3b Remove inline keywords in addXf3.zig pending #2154
0563e8e1d Always write a multiline struct literal if a field expr is multiline
b7aa289ae fixed broken casts in std
4a64f2662 added error for implicit cast from *const T to *[1]T. credit: @kristate
aa794eb62 fix zig run to accept executable args
937ff0cb6 Add all __aeabi functions (C versions) who alias currently existing functions to compiler-rt
779137be4 Add __aeabi_{f,d}neg and __neg{s,d,X}f2 to compiler-rt
38c209350 Add __aeabi_{f,d}{add,sub} and __{add,sub}{s,d}f3 to compiler-rt
310f91fb4 Add __aeabi_mem{cmp,clr,set,cpy,move} to compiler-rt
e89b70429 Add memcmp to builtins
a4afacd18 Veritcally align array literal columns
25ac2fe8c fix anon enum literal used with switch on union(enum
62af70180 Remove binary and octal float literals from documentation.
90a78866d Merge pull request #2112 from shritesh/param_decl_doc_comments
b0d89cfe3 fmt: Fix param decl test
efa751c33 Add doc_comments to param decl
8fdf8b697 fixed libc command on mingw
5703ab1d0 fix std.ascii type error and inverted logic
a824a8c68 add std.ascii to std.std test "std"
d494a5f4c fix tests for math.mulWide
66f13ba80 stage1: better error message when comparing against null
85d188537 std.mulWide() whose return is twice as wide
64b2cf776 implement target_c_type_size_in_bits for WASI
fbe9233aa Merge pull request #2107 from shawnl/arm64
cf4e9a27c removed static build flags on mingw
084724c68 not __arm__, use __ARM_EABI__
65e234adf fix build on arm64
85575704a Use linux.exit_group if not single threaded
594279700 fmt: check for extra newline at end of file
51be449a5 std.ascii: respond to review
1d09cdaa6 munmap allows address 0
5eaead6a5 implement allowzero pointer attribute
3306e4398 add compile error test for invalid enum literal implicit cast
da9d8a6ec implement peer type resolution for enum literals
aff7b3883 make switch expressions allow enum literal types
a736dfe6a implement implicit cast from enum literal to enum
d0551db5c introduce the enum literal type
64dddd7af add compile error for ignoring error
6a9c32f75 add regression tests for a bug fixed by an older commit
4d50bc3f8 add peer type resolution for `*const T` and `?*T`
89953ec83 character literals: allow unicode escapes
55cb9ef13 -inf, docs: clarify NaN, inf
3e9697bb3 remove octal and hex floats from the language
14d416f83 parse_f128.c: fix whitespace
d83836825 add mulXf3 to compiler-rt
324cbb986 stage1: implement get_dynamic_linker for riscv
e9f066aca fix macos build instructions in readme and fix warning
b76398c99 std: add ascii with C ASCII character classes
627284791 Merge pull request #2094 from ziglang/f128-decimal-literal
02767690e get rid of restrict; it's not supported by MSVC
71c78cc9c avoid quad float literal syntax for MSVC
4615ed5ea float literals now parse using musl's 128 bit float code
1ca78e39e Fix typos around pointer usage
127bb124a Merge pull request #2091 from ziglang/bigint-print-fix
3560f61c1 Merge pull request #2087 from ziglang/float-parsing
a3f42a5fe Fix compile-error test case for large integer type
6f90d2c20 Fix bigint_append_buf
23af502d0 Updated langref to newest grammar
e3b70fe4b Simplify hex-float parsing code
d04a1456d hex float parsing: solve another case
af509c68b fix parsing of large hex float literals
b5cc92f16 ci: more quoting
246304125 add documentation for zig test
bf4701562 ci: add FreeBSD to download page
b7fb63d69 ci: apt-get update before install as a workaround
15c316b0d add docs for assembly and fix global assembly parsing
3c7555cb6 Merge remote-tracking branch 'origin/llvm8'
2fdf69bc4 Merge pull request #2079 from Sahnvour/issue-2050
d669db767 c_abi: activate tests on windows
27d5e1f36 c_abi: add some tests for int and float parameter passing potentially using both registers and stack
ac3484127 build.zig: allow run() on non-native target artifacts
c17b1635c c_abi: when compiling for x86_64, differenciate between system V and windows ABI
9801a1df6 disable all C warnings when building musl
3c3692960 zig targets prints the available libcs
af9ac0d54 better buffer length for formatIntUnsigned
e508b8574 Updated parser to newest grammar
1b25dcde9 freebsd ci: disable not working stuff
fd2993578 ci: freebsd tests docs
b44ff4ca8 freebsd ci: install wget and set -x -e
0c6e68743 start producing freebsd binaries
567175f83 add documentation for Memory
fca83876d workaround for Ubuntu/Debian bug
85256521b fix translate-c regression
a581f4f0e Merge remote-tracking branch 'origin/master' into llvm8
db0e188f0 update macos static build for llvm8
1b801bdba pass explicit frame pointer args when compiling C code
a17bf219c Merge pull request #2069 from ziglang/glibc-assert-translation
7dfbeca13 libc: separate linux headers from musl/glibc
9171e7a7c More work on ignoring values correctly
6acabd6b5 also link ntdll.lib, when linking msvcrt
c8453454e add missing std lib file rb.zig to cmakelists.txt
ae9b90cf6 print a message instead of returning an error when debug info comes from a source file not found (for example compiled on another computer
704dfaaab avoid reading LineBlockFragmentHeader at all if the address is not in range, thus simplifying code and improving speed of execution
094d40fb1 allow pdb modules to have no C13 data, this happens if the module is stripped
0d4a5c40b correct padding handling between std.pdb.ModInfo entries in DbiStream
6abe6dbfe enable issue_339 test on macos
6d6195424 add regression test for invalid multiple dereferences
c40448eb9 add compile error for wrong type with `use`
4a5cd0b89 fix while continue block not checking for ignored expression
01fb42103 fix regressions on Windows from previous commit
9c13e9b7e breaking changes to std.mem.Allocator interface API
5ae400fb3 fixed void cast and added the last tests
4090fe81f Merge pull request #2068 from ziglang/workaround-for-2043
a77b2a081 Implemented enough of translate-c to translate assert
3ef9b899e workaround for #2043
b1c8c7973 Add /lib/x86_64-linux-gnu or similar to default system library search paths
080dd2715 breaking: fix @typeInfo handling of global error set type
e861da03f macho linking: always -dynamic for non-static-libs
862ac42a6 ignore -lm on darwin because it's handled by libSystem
927efe5f4 force windows to link against dynamic msvcrt
20c36949e fix target_requires_pic and reloc_mode
5d2edac12 breaking: remove --static; add -dynamic
85d0f0d45 fix @setRuntimeSafety not able to override release modes
d21370833 this empty import workaround no longer necessary
284f6baf1 remove nios2 from list of libc targets
0588fed15 add documentation for `pub`
54edbc681 Merge remote-tracking branch 'origin/master' into llvm8
d495dcc3c zig test respects --output-dir parameter
4e40bd863 add documentation for @"" syntax
49838a9f3 Fix generation of comptime slices
1ed38a682 added z3 and fixed dynamic linker on mingw
26b0d3436 Merge pull request #2055 from ziglang/musl
c73cd0546 musl: remove files that have case conflicts
235ded626 fix gitattributes
cf699ee06 don't resolve dynamic linker for static executables
9741b2aab avoid a string that is too long for msvc
5570bc986 remove accidental swap file
62486c35a ability to build musl from source
5734b7a37 building musl start files from source
b7c331eb6 add musl headers
761356209 add test cases to cover switching on u0 values
1a94dec50 docs: finish initial documentation for implicit casts
9b9935655 translate-c: additional test case for integer suffixes on 0
f2ca2ace0 zig build: do a better job of detecting system paths
a909efae9 Merge branch 'daurnimator-valgrind'
d633dcd07 remove the valgrind integration with std.mem.Allocator
5362ca204 Merge branch 'valgrind' of https://github.com/daurnimator/zig into daurnimator-valgrind
80e5af2be Merge pull request #2049 from ziglang/problematic-mtime-detection
9efa18f68 enable C ABI tests on macOS
e1fbb24d6 add test for spawning child process with empty environment
b4e6e301e Merge branch 'fix-1600'
1d5e349a5 ir: fix handling of OnePossibleValueInvalid
bcbb2650c check for type_has_one_possible_value and added correct caching to TypeInfo
357813b19 added tests
2d7f0ca38 fixed enum to union code
5a52613ca use cached const_void_val
29accac74 removed wild tab
8eedec4f9 fixed #1600
3ff0e8bd9 Revert "docgen: --cache off for tests"
6a5c2b249 Revert "use unique test source names for test-gen-h"
895fab156 fix build on windows
3a6f19de4 stage1 caching system: detect problematic mtimes
83b79522d Mark third-party dependencies as vendored
4cb55d3af Merge remote-tracking branch 'origin/master' into llvm8
fec455547 fix inconsistent type information of optional C pointers
918dbd455 std.zig: `this` is no longer a keyword
b63b3dc75 Add elf riscv32 and elf riscv64 as options in getLDMOption during construction of link job.
fa9fcab62 translate-c: add support for integer suffixes on 0 (zero) litteral inside macro definitions
3cdd2c0bd Merge remote-tracking branch 'origin/master' into llvm8
0a8a7a57e docgen: --cache off for tests
264b03d57 use unique test source names for test-gen-h
8369ddb09 glibc: add missing linux header
8624379c7 Merge pull request #2038 from ziglang/caching
a45807db2 disable flaky event test until post coroutine rewrite
94e52dba8 fix docgen and fix unnecessarily adding .root suffix to objects
5046aa940 fix running things with zig build on Windows
85d23e68e fix .d file parsing and string literal ast rendering
91955dee5 breaking changes to zig build API and improved caching
dd34c2177 PriorityQueue: add bulk insertion methods
cddc77dd9 Remove glibc compat shim with restrictive license
1e634a384 Merge branch 'glibc'
2bb6825ba fix passing invalid argument -NDEBUG
3d2c48e4c disable some tests until coroutine rewrite is finished
46242c4d3 fix -mllvm command line option regression
bbbcf16ef fix linking glibc: caching static libs and
2caf39c96 fix .d file processing and use -MV to quote spaces
431b3b245 fix windows build
197311d7d windows and uefi don't have dynamic linkers
4d8467faf better behavior when cache dir unavailable
e2ce00f27 fix regressions on macos
ffaa4f0a8 dynamic_linker_path can be null on some targets
ce76de35f multi-arch glibc headers
189fba439 process headers tool
5469e3e3c missed change when switching TypeInfo to use comptime_int
ccdef8c0f cross compile glibc startup files
697b1233f support other architectures for glibc startup files
b554f6294 add popcountdi2 to compiler_rt
ba144b366 build libunwind.a from source and link it
5cecb5e47 libcxx headers 8.0.0rc3
bc8c4ec60 libunwind 8.0.0rc3
e2f4df606 std.os.changeCurDir no longer needs an allocator
4c386436e m, pthread, rt, support glibc dl
e06da1083 fix translate-c
55a001622 dynamic linker path is independent from libc installation
0d10ab068 stop linking against gcc files
dd263eccb support crtbegin.o and crtend.o when using explicit libc
c5fdea59d building glibc from source
aeb16010f initial glibc support
0714e1959 Merge remote-tracking branch 'origin/master' into llvm8
9c5852aa8 fix slice of C pointer
e3b275fa4 fix build.zig not respecting --static
d0d615d81 fix const initialization of optional C pointer to null
74c123cd0 fix check for 64-bit arm platforms with new targets
e40245570 rename std lib files to new convention
f7835000b @returnAddress and @frameAddress return usize now
ea5cedced fix @typeName on slices
4bac22e88 all integers returned by @typeInfo are now comptime_int
67b4de33d compile error for import outside package path
99b6429a8 disable tests which are tripping an llvm assertion
764205ac1 better error message for `-target windows` CLI
bed81089e Merge pull request #2020 from ziglang/kill-namespace-type
9c47bf68f gen-h: respect @export
fc17b8ee8 remove unused function
26128396f gen-h: use the bare type names for now
e8dad6244 fix docs typo
5f7d9c584 @typeInfo for structs and opaque types is the bare name
a7ddcabb5 fix type names
582fdc286 fix dependency loops, pub, root source, tests, use decls
c4887d7f5 Use bitwise-and instead of modulo in __zig_return_error
76b4e4917 add mprotect syscall
faf76032f fix "use" decls
02f3a834b struct types get fully qualified names
382a15519 web assembly is a tier 3 target now
0fd64e6c6 stage2: update for changes regarding sub-architecture
fa3d89674 update clang C headers to 8.0.0rc3
182cd0e4c LLD patch: workaround for buggy MACH-O code
5768fcb08 update embedded LLD to 8.0.0rc3
5424b4320 remove namespace type; files are empty structs
6bc19b437 updates to build with llvm 8.0.0rc3
ea73b8e2b update clang driver code to 8.0.0rc3
2dcf1a239 Merge remote-tracking branch 'origin/master' into llvm8
9753e8754 fix incorrect use of printf in previous commit
3bfacf071 print the command that failed when C source code fails to build
14ca0fd49 uefi os: better auto detection of subsystem
d093f51f1 stage1: fix unused function error on freebsd and netbsd
c59ce046a windows returns EINVAL for fopen when there is an asterisk in the name
22dd0db9b improve docs for unions and switching on tagged unions
0d48011f5 fix stage1 zig fmt on macos
557983e50 fix handling when there are multiple externs and
763357c9c add test coverage for type used as switch case
d5fc82643 add test coverage for binary OR on error sets
1d7e5479b fix .gitignore file and add commit missing std lib file
4563f6b42 add builder.addFmt API and use it to test stage1 zig fmt
6365f5a9f introduce sys_include_dir for when sys/* files are not with stdlib.h
33174f11e fix regressions on Windows
ade10387a breaking changes to the way targets work in zig
1ec1097bd use -nostdinc and sometimes -nolibc when compiling C code
0eed72d68 Add priority queue
6fd281643 use -nostdinc++ when compiling C code
3932b6474 use -nobuiltininc when compiling c code
82fafca37 fix the libc compile error tests to only run on linux
7571db05d fix incorrectly trying to memset at comptime
4b7e285b7 add a regression test for #704
152db2714 better error message when forgetting to link against libc
3ca861c7d add a compile error note when C import fails and not linking libc
0f54728cf fix not finding libgcc_s when looking for native libc
aab8e1352 add docs for zero bit types and pointers to zero bit types
39605a796 delete incorrect TODO comment
7b8c5578c fix infinite recursion in type_has_one_possible_value
33cbb29de zig build: 2 improvements
6003b1ea7 Merge pull request #2005 from ziglang/c-source
0d4db8828 `@cImport` works with `--cache on`
525c2eaf5 building DLLs on Windows works better
e76ce2c1d first class support for compiling C code
e5d4862e1 Merge pull request #2003 from ziglang/zig-cc
8c2c6368f zig cc: work around clang calling GetCommandLine on Windows
bcca76b3c zig cc: remove "polly" which was an undefined symbol on macos
a77a17e2c add `zig cc` command to act like a C compiler
98869edb8 fix `zig fmt` arg0 handled incorrectly
00d8f4a1b introduce std.debug.captureStackTrace
6fd8d455b better libc detection (#1996
f7c043a06 Add function for retrieving target long double bit size
52bb71867 implement vector negation
2fe8a0831 add regression test for bitcast to array
d0c39895a docs for packed structs
0c5f89790 fix `@bitCast` when src/dest types have mismatched handle_is_ptr
cbce61a20 better field access of types which have one possible value
1066004b7 better handling of arrays in packed structs
2bb795dc4 `@sliceToBytes` works at comptime
db31c2524 extern structs support comptime bitcasting
3ee9d06cb packed structs support comptime bitcasting
7bbccfc7f Use valgrind marks from Allocator
079728752 deduplicate compile errors for undeclared identifiers
d68ae35c1 set the buffer to undefined, std: when a FixedBufferAllocator is initialised
da7880b4c std: Add valgrind module
067968c57 Merge branch 'matthew-mcallister-slice-deref-failure'
c8ce351ec pull request fixups
1034af40f Merge branch 'slice-deref-failure' of https://github.com/matthew-mcallister/zig into matthew-mcallister-slice-deref-failure
400006bbe Prevent crash in tagged enums rendering (#1986
db74832e4 valgrind client requests for undefined values
c9fb5240d remove --no-rosegment workaround now that valgrind bug is fixed
55c6497ff WIP: Initial clong_double compiler support
007a260cd Merge branch 'kristate-zig-backport-issue1944'
ea3d9d5c5 add test for 74bdc1d1f898705
b0ceea183 zig fmt: fix infix operator before multiline string literal
74bdc1d1f src/analyze.cpp: default to using `param_node` upon callconv error;
99adda9df Some function doc tweaks (#1961
043090020 docs: shadowing
8922008de docs: note top level declarations are order-independent
28bf76888 export _mh_execute_header with weak linkage
74a335c4c Merge branch 'emekoi-fix-1711'
7a84fe79b pull request fixups
9b3013d2f make @enumToInt work on union(enum
d2fb95af8 Fixed std.testing.expectEqual
e280dce30 Translate parameterless C functions (#1978
7d762648a Add align attribute for params pointers
74d9593d8 README: add NetBSD to support table
3e586264e Merge pull request #1972 from coypoop/netbsd
39207fa1d Merge pull request #1963 from matthew-mcallister/dedup-compile-log-warning
7e5495405 fix openWriteNoClobber and add test
c70ee9177 Check for duped error messages in compile tests
51783510b Deduplicate compile log statement warnings
b93405c24 Don't provide a bogus definition of EVFILT_USER
de18ece29 Merge pull request #1975 from BenoitJGirard/master
fcf65f06c +-0) = 1 for any x., Fix std.math.powi so powi(x
6cf38369d Silence gcc8 class-memaccess warnings
6daa04193 Merge pull request #2 from ziglang/master
2878efee8 Undo local, unneeded patch
8d2a90294 freebsd: fix pointer cast in mmap
bc10382ec Add NetBSD support
db9c1b052 Merge branch 'sjdh02-master'
4a0bb6258 fixups
fd61a084e fix BufferedInStream not reading delayed input
91989e70b Fix lvalue dereference type checking
c3c92ca8b translate-c: 4 more functions using C decls
2dfa76a1a fix regressions from previous commit when building with clang
356cfa08f translate-c: proof of concept for transitioning to userland
bd52d81dc README: direct link to Download & Documentation at the top
f4c5bcfea refactor translate-c - no more using namespace clang
f57182456 Merge pull request #1898 from Sahnvour/translate-c-arrays
a97362e67 fmt_runner: remove redundant check
ba56f365c bring zig fmt to stage1
77a4e7b37 Merge pull request #1958 from ziglang/parse-float
5736a9c6a removed hidden union tag in release modes
a05e22415 typecheck the panic function
7293e012d breaking: fix @sizeOf to be alloc size rather than store size
567c9b688 Merge pull request #1965 from ziglang/c-pointer-type
ee5e196f8 add test for truncate on comptime integers
99b19adeb stage2: fix windows regressions
71d7100aa darwin: fix pointer cast in mmap
170ec504e Use official llvm mirror for compiler-rt commit ref
18ad50970 Make parseFloat stricter in what it accepts as input
e025c7016 stage2: fix llvm.zig with opaque types back to single-item pointer
d6e0d82c3 translate-c: back to *c_void for opaque types
d5bbd7487 allow C pointers to have alignment
cc7060d0d compile error for C pointer with align attribute
973a93d43 add docs for C pointers
df87044fd omit nonnull attribute for C pointers
6769183a9 fix implicit cast error unions with non-optional to optional pointer
52c03de5c add missing compile error for OpaqueType inside structs/unions
e03c77014 compile error tests for implicit C pointer casting
c58b80203 remove the "top of the comptime stack" compile error
a4e32d9fb ci: freebsd: remove '.git' from URL as per upstream suggestion
59de24817 runtime safety check for casting null to pointer
d4d2718bc comptime detection of casting null to pointer
2911eb34d Added error for nesting vectors
de7c55145 Add parseFloat support to json.zig
c34ce6878 Add parseFloat to std.fmt
53297a1bd We already support vector bit operators, so let's test it
c7b9ab985 Merge branch 'master' of github.com:ziglang/zig
c221b29c9 We already support vector on floats, so let's test it
cf007e37b Add f128 support for fabs, inf and nan functions, isinf, isnan
be861a85c __subtf3 and __truncdfhf2, compiler-rt: Add __addtf3
0b3db784f Enable compileLog to display slices
5699ab5e7 C pointers: errors for nested pointer casting regarding null
270933b1e compile error test for casting integer to c pointer
6f05e8d1b implicit casting between C pointer and optional non-C pointer
285e2f62b disallow C pointers to non-C-ABI-compatible element types
0abe6d668 C pointers: delete dead code in ir_num_lit_fits_in_other_type
069fc1a26 peer type resolution with C pointers
57a7ab0d3 comptime support for pointer arithmetic with hard coded addresses
90b8cd4a4 add C pointer type to @typeInfo
342bca7f4 C pointer comparison and arithmetic
d9e01be97 translate-c: use C pointer type everywhere
4a1b910e0 zig fmt: support C pointers
43df49cb3 README: move i386-macosx to Tier 4
661fc79fb langref: update grammar with c pointers
7a8f391b0 avoid needlessly creating global constants
bcbcb2e9f Merge remote-tracking branch 'origin/master' into llvm8
8e68d43ad avoid needlessly creating global constants
2f9fedabf testing.expectEqual use expected type as the type of actual This allows for impl casts
73e8e4625 casting between C pointers and normal pointers
b8cbe3872 added C pointer type and implicit int-to-ptr for this type
caf672c49 `@truncate`: comptime 0 when target type is 0 bits
31be1ddf0 docs: add threadlocal keyword to grammar
34eb9f18a fix not updating debug info type of optional error sets
1864acd32 Merge remote-tracking branch 'origin/master' into llvm8
ca8580ece Merge branch 'vector-int-add-safety'
373e21bb5 implement vector math safety with ext and trunc
0a7bdc007 implement vector addition with safety checking
a8a63feba docgen: update for threadlocal keyword
052800e95 zig fmt: support threadlocal
d6f2af378 fix docs
46ddd5f5f fix compiler assertion failure when returning value from test
c2db07757 std.debug.assert: remove special case for test builds
be6d02225 Make ThreadSafeFixedBufferAllocator alias FixedBufferAllocator when --single-threaded
48c1e235c update clang headers to 8.0.0rc2
00902ff9b LLD patch: workaround for buggy MACH-O code
3e08b3a4f update embedded LLD to 8.0.0rc2
f330eebe4 fix using the result of @intCast to u0
91baa574a build: update Findllvm.cmake for llvm 8
f8ba50f5e build: make sure LLVM is exactly correct
a94304d3e Merge remote-tracking branch 'origin/master' into llvm8
7843c96df build: make sure LLVM is exactly correct
2b2bf53a4 better error message when LLVM does not understand a triple
a0590bda2 Merge branch 'kristate-zig-backport-std.mem.join'
38a771619 fixups
130f42274 Merge branch 'zig-backport-std.mem.join' of https://github.com/kristate/zig into kristate-zig-backport-std.mem.join
7fc99c33b Merge branch 'kristate-zig-backport-std.os.path'
36bade5c5 and modify std.mem.join and std.os.path.resolve API, fixups
c804ae2d6 Merge branch 'zig-backport-std.os.path' of https://github.com/kristate/zig into kristate-zig-backport-std.os.path
8a5d3e2ea Merge pull request #1924 from ziglang/tls
89ffb5819 implement Thread Local Storage on Windows
d2602b442 require running std lib tests coherently
b1775ca16 thread local storage working for linux x86_64
3abf293a8 doc/targets.md has moved to the github wiki
20e2d8da6 Fixed Serializer and BitOutStream when used with streams that have empty error sets.
fd28b9d50 Merge pull request #1919 from Sahnvour/windows-childprocess
6860db66f Typo: use the joined path to try executables available from PATH.
a9faace8b Notify failure to create a process when the executable is not found even in PATH.
075fda3c7 translate-c: add tests. Commented for now as the output is currently empty until #646 is fixed.
ac4e38226 docs: clarify passing aggregate types as parameters
4010f6a11 Added support for vector wrapping mult and sub * I also merged the code that generates ir for add, and mult, sub
06be65a60 fix vector debug info tripping LLVM assertion
d974afde1 fix vector debug info tripping LLVM assertion
f32f7a937 Merge remote-tracking branch 'origin/master' into llvm8
8c6fa982c SIMD: array to vector, vector to array, wrapping int add
2828a9695 Merge branch 'kristate-zig-backport-std.mem.separate'
67bd45f0c adjustments to std.mem split / separate
f44ce7836 Merge branch 'zig-backport-std.mem.separate' of https://github.com/kristate/zig into kristate-zig-backport-std.mem.separate
dfbc063f7 `std.mem.Allocator.create` replaced with better API
c90c25686 Fix slice concatenation
9b8e23934 introduce --single-threaded build option
8bedb1093 Fix runtime assignment to comptime aggregate field
ae1ebe09b add compile errror for @bitCast when bit counts mismatch
bbe857be9 Merge pull request #1775 from tgschultz/stdlib-serialization
8d32d2561 Merge branch 'emekoi-windows-mutex'
bfc1772d8 fixups
8d3eb25e9 Merge branch 'windows-mutex' of https://github.com/emekoi/zig into emekoi-windows-mutex
7a4ed1098 darwin: fix incorrect timeval struct type
28873e762 os.cpp: fix regression on Windows from 59c050e7
545064c1d introduce vector type for SIMD
169a789b3 fix test after merging ad8381e0d2936f
59c050e7f collapse os_file_mtime into os_file_open_r and check for directory
ad8381e0d Move tokenizer error location to offending char
ecb0cb661 darwin time code: don't cast to int until the end
9ca94bbba fix freebsd ci from previous commit
581edd643 backport copy elision changes
9c328b429 simpler implementation of `&&` and `
f0d35d78b for clarity., translate-c: avoid array concatenation if the init node is empty
584cb1fcf translate-c: only detect ints as negative if they are signed.
b2662e443 translate-c: correct array concatenation for incomplete C array initializers.
dd5450e7b translate-c: get real child type of array type for incomplete initializers and/or multi-dimensional arrays.
5bf9ffdc5 Hint at use of and/or when &&/
1411df4e2 update to llvm8 trunk. all tests passing
87f5bed11 Merge remote-tracking branch 'origin/master' into llvm8
3bec3b9f9 llvm-config sanity check
aee973829 Merge branch 'kristate-zig-backport-issue1883'
1357bc743 add test case for previous commit
0d1ce1fb5 src/analyze.cpp: return type entry for `ZigTypeIdPointer` if it points to `ZigTypeIdOpaque`
c968d8756 Merge pull request #1885 from Sahnvour/master
a60ecdc68 Hopefully fixed #1503 (at least improved) line accuracy of stack traces on windows.
5ab8db7b3 removed unnecessary cast
404c87b06 fix incorrect parameter names for std.math.atan2
3ff9ab332 fixed type signature
51fff9fa8 fixed initializer and typos
35d93d22d removed nullables
938512705 changed pointer types
bb31695fb fixed mutex on windows
207fa3849 moved to InitializeCriticalSection to init
25d7f5b65 switching back to EnterCriticalSection
aaae2f570 switching from EnterCriticalSection to TryEnterCriticalSection
99f44219b updated structs
b61bce254 added mutex for windows
3b2eeb839 Merge remote-tracking branch 'origin/master' into llvm8
5864d92b4 ensure the types align, when rendering llvm const values
027a0c46a Merge remote-tracking branch 'origin/master' into llvm8
1ca983dbd translate-c: update to llvm8
4d5d0d3ad `@typeInfo`: more correct return type info
aa65b9467 fix debug info for function pointers
013c7b24d Merge pull request #1874 from ziglang/issue-1866
da08525bb Removed oops comments
97702988d Added test case
55e95daf5 Fixed issue where TypeInfo would use types from a prev CodeGen instance When doing multible codegen passes (such as building compiler_rt and then something else) the TypeInfo cache code would point to types from the prev code gen (such as the prev 'bool' type), but correctness is better than speed, but found type 'bool'" This disabling of caching might have a performance hit, giving us errors like "expected type 'bool', so let's have this for now, until someone optimizes this correctly (probably in stage2
e410b1f91 Implemented buf_read_value_bytes for ZigTypeIdArray * Only for x_array.special == ConstArraySpecialNone
db9289158 Respect the type system instead of ConstExprValue when getting field
5f26d1ddd freebsd: fix wrong call to clock_getres (#1871
1f08be4d7 Mark comptime int hardcoded address pointee as a run time variable #1171 (#1868
5c2a1055a freebsd: add sockaddr structs
4d9547ff2 freebsd: implement clock related functions
1e781a30f freebsd: add clock const definitions
f6cd68386 @bitreverse intrinsic, part of #767 (#1865
036a49e97 Merge remote-tracking branch 'origin/master' into llvm8
6df8e4bca Add DIFlagStaticMember flag to functions.
d8b6fa913 Merge pull request #1859 from mgxm/fbsd2
2e08bd6be ci: update freebsd manifest
4ff23b668 tests: remove freebsd from the test matrix
c464ecf3b Merge pull request #1857 from vegecode/boolean-switch
64061cc1b Test cases for compiler error and working behavior for switching on booleans
aaef6259c allow not having libc include paths and doing @cImport
c29cae76b tests: add FreeBSD to the test matrix
2b7e29f79 Merge branch 'nebulaeonline-nebulaeonline'
a918ce26b fixups
4a1f0e141 Switching on bools with duplicate and missing value detection: Issue 1768
f49b45b00 tabs to space fix. thanks visual studio.
52be7d740 freebsd: fix flags for opening files
28cd337d1 fixed formatting in options display
de473d442 freebsd: implement std.os.time.sleep
7dcee9951 fixed stricmp/strcasecmp between windows/posix
51baea184 Yet another git user error remnant fixed
480061d2c git user error fix
e0af3d7b5 Merge branch 'nebulaeonline' of https://github.com/nebulaeonline/zig into nebulaeonline
fdea12b2d msvc subsystem option handling; added uefi os type
39d32ee40 Altered SUBSYSTEM option handling when linking in msvc mode; Added preliminary UEFI support.
682815f6e freebsd: remove syscall and use libc
773bf8013 Merge branch 'master' into fbsd2
c0e391e94 self-hosted: add hurd os to switch
75d142c3c llvm8: fix ZigLLVMCreateFunction
280187031 tests: make type info tests not depend on builtin.Os enum
94424e3fa test: remove type info test dependency on builtin.Os enum
16b8467a5 llvm8: fix build errors
c00216701 Merge remote-tracking branch 'origin/master' into llvm8
45081c1e9 hello world example can use `const` instead of `var`
218a4d4b3 comptime: ability to @ptrCast to an extern struct and read fields
f30147453 self-hosted: add DeviceBusy as a BuildError
0eba5b674 I observed open() return EBUSY on linux
c26f54397 freebsd: fix Stat mode type
56fedbb52 translate-c: --verbose-cimport prints clang command
c156d51d5 freebsd: remove system linker hack
a6f33e3dc freebsd: add realpath to freebsd/index.zig
46a0f60e4 freebsd: use realpath() to resolve symbolic links
ac1b2a3c7 Merge pull request #1 from myfreeweb/fbsd2
76efc462e Add preadv/pwritev on FreeBSD
054c7ab18 Fix stat/timespec definitions for FreeBSD
fa6c7c130 Use Ninja in .builds/freebsd.yml
f35ba34a8 Removed allocator from Linux version DynLib. Added dynamic_library.zig to std test list.
8cf3543c8 Merge branch 'mgxm-srtht_fbsd'
2a776ed8a ci: only run the debug behavior tests for FreeBSD
484060098 ci: add sr.ht build manifest for FreeBSD
459045aa4 Merge branch 'kristate-zig-backport-issue1832'
0f54194e6 fixups
fb81b1978 tests: re: 79db394;
39567e8b5 src/analyze.cpp: support alignOf(struct T) aligned member inside struct T;
8768816d6 std.io: call the idiomatic std.mem.readInt functions
e5b474810 freebsd: initial stack trace
9900f94af freebsd: use sysctl to get the current executable path
1811e7e6c freebsd: remove getrandom dependency from libc
11ced4f99 freebsd: use libc interface instead system calls
6cfcdbde2 freebsd: link against libc++
1fc56b82a freebsd: link against libc
0273fbf71 freebsd: add access
5ea37f6e8 freebsd: add getdirentries
666b15314 freebsd: remove syscall files
a7670e80a Added formatting of function pointers (#1843
45e72c0b3 Fixed intToPtr to fn type when the address is hardcoded (#1842
260c3d9cc formatType can now format comptime_int
f6a02a427 README: clarify self-hosted status
e077a4465 ir: delete dead code
f75262b79 fix comptime pointer reinterpretation array index offset
5a68c6002 ci: update msys packages before installing
757d0665a implement comptime pointer cast
7533d1b14 mem foreign functions call the native ones
624c74af6 ci: install openssl on windows
82bf1eb7a docs: fix alphabetical sorting of builtin functions
0afb86868 Merge branch 'suirad-windows-wide-imports'
fff6e4712 fixups
457f03e37 Merge branch 'windows-wide-imports' of https://github.com/suirad/zig into suirad-windows-wide-imports
e98ba5fc4 add mem.readVarInt, fix InStream.readVarInt, fix stack traces
6395cf8d6 fix mistakes introduced in b883bc8
7417f2e4b freebsd: fix issues with syscalls
d77033382 freebsd: fix os_self_exe_path function and update std lib
b883bc873 breaking API changes to all readInt/writeInt functions & more
634d11ab2 Add add compiler_rt routines for float to signed integer conversion
f0ec308e2 Merge pull request #1 from ziglang/master
5f5364ad7 font-family fallbacks for unsupported system-ui
57113bab2 docs: Prefer system-ui font-family
68b0fce62 Document explicitly ignoring expression values
1a8570403 Minor doc-comment fix.
1188da926 Minor change to custom (de)serializer to allow them to be defined outside of the struct and aliased inside it. This will enable alternate generic serializers (i.e. one that follows pointers) on a struct-by-struct basis.
1b0f4d597 implement compile error note for function parameter type mismatch
518ff33e6 Allow packages in TestStep
9ac838c8e LLD patch: allow non-allocated sections to go into allocated sections
3a1612a0f std.debug: fix some issues with freestanding debug info
5c3b8cb36 expose std.debug.DwarfInfo and delete unused function
a436d2ab8 std.debug.printSourceAtAddressDwarf
4292ed957 std.debug.StackIterator
a40d160a5 introduce std.io.SeekableStream
6f5e7ee09 make std.unicode.Utf8Iterator public
a9eab69b5 zig build: addStaticExecutable
8423bd423 Added explicit test for #1810 issue to io_test.zig.
5936bdf8a Fixed readBits to cast errors to the correct errorset. See #1810 for why this wasn't caught earlier.
b6489ff90 Increased range of bitwidths tested by "serialize/deserialize Int" tests. Added tests for float inf and NaN.
1ab66f3b5 Added serialization, TagPayloadType, bitstreams, traits for integer sign
cf266ff80 Update tests
e8e6ae57d Find CI env variables
1fa2217c1 Simplify implementation
24592d021 Add more padding to parse buffer
0abd5520b Platform specific tests
5dfca87a6 Update windows imports
823969a5a Implemented new more flexible readLineFrom (#1801
b29769532 ci: workaround azure quirk for windows too
1e60ca4b7 stage2: update std.os.path.join method signature;
2b78a9042 std.os.path: remove dependance on std.mem.join;
ff1b2889f std.mem: split: test for multiple seperator bytes;
bbdc12891 ci: workaround azure quirk with set -x
6a1a2898b std.mem: remove varargs on join to stop excessive inlined code;
53766e7a3 make parseUnsigned handle types <8 bits wide
4ecb3ceaf Add std.LinkedList.concat
7005ec5ef Revert "Add math min/max for Float and Value"
f74320d56 Implemented getOrPutValue which wraps getOrPut
078a0a699 Add math min/max for Float and Value
c54fe0d3a work around to support debian's fork of llvm 7.0.1
11e8afb37 fix child_process piped streams not getting closed
57f44eb2b Merge branch 'freebsd2'
dd2450b1b tier 2 support for freebsd
e3bf40742 Merge branch 'master' into freebsd2
1fb15be05 stack traces: fix for windows
3c4965a61 readme: update support table
2baf0e2ff add std.math.IntFittingRange
6bbe4cf9f Merge branch 'winksaville-Fix-pushToParent-to-work-for-arrays-of-Objects'
a5b79017a fix regression from d5648d26
7818550ed Merge branch 'Fix-pushToParent-to-work-for-arrays-of-Objects' of https://github.com/winksaville/zig into winksaville-Fix-pushToParent-to-work-for-arrays-of-Objects
0860be03b Merge branch 'kristate-zig-backport-os_file_read-EISDIR'
67a39a4c9 stage1: better file path handling
d2ed4d3dd Merge branch 'zig-backport-os_file_read-EISDIR' of https://github.com/kristate/zig into kristate-zig-backport-os_file_read-EISDIR
0f7de58b6 std.mem: add new separate method and rework SplitIterator;
f6cd02be6 add std.meta.stringToEnum
a07490a4b Merge pull request #1783 from ziglang/rand-range
9ae5200bd factor out and expose biased range limiting function
eed7b48fe test lots of types
49b49618d add biased random range api
1924ffa67 better debiased random range implementation
4d747d452 update zen os std lib for latest zig changes
3d2752cc3 refactor type_requires_comptime to have possible error
56a8f2b01 fix @intCast not catching negative numbers to unsigned
b953e322a std.os.path.realC: make overflow more clearly impossible
bb3ac177a fix incorrect buf len
a69695a28 std/mem: writeIntLE: buf.* to buf;
a05716bd2 Allow json tests to be easily filtered
4dafdc00d zig fmt
9493738e5 Merge branch 'freebsd-up' of https://github.com/myfreeweb/zig into freebsd2
703c6684d Crash fixes and small improvements to inline asm. (#1756
89e82281b fix incorrect --help text
b1a676b27 docs: fix some incorrect error documentation
2f5d1ec50 improve error message when wrong type returned
81d9403dc Add SegmentedList.shrink
4c0163b69 std/rand: fix ziggurat next_f64 call
921d9c9bc add std.meta.intToEnum
3829e200e fix assertion failure related to @intToEnum
3c05ad401 atomic.Int.set
f8a782fb2 all numbers with comptime known values implicitly cast
8d54cbb83 Fix pushToParent to work for arrays of Objects
e9b47d960 Fix setsockopt syscall on linux
947cdafd9 src/os.cpp: os_file_read: return ErrorIsDir on case EISDIR;
085d049a0 aarch64 improvements
2a580278c Updated comments in parser.cpp
f1fd8d2b1 Updated docs to newest grammar
c21884e1d Merge remote-tracking branch 'origin/master' into llvm8
704374e51 rename `section` keyword to `linksection`
386296288 delete rogue file
398914eb7 Fixed typos
fbd6a66ae camelCase std.rb.set_child to std.rb.setChild
e19841768 std/fmt/index.zig: support printing hex bytes on slices;
be9bb0a85 Fixed #1663 and removed IrInstructionArrayLen
332fdf33e update readme
007783753 Change rb functions to use snakeCase.
ba361f31c more fixes related to readStruct API
3090f8380 Fixed failure using readStruct and gave async readStruct the same sig
f4606842d Have readStruct in stream return a value instead of taking a pointer
2a9843de9 Added NullOutStream and CountingOutStream (#1722
b8b36f3cc disable windows test until coroutines rewrite lands
0c3bd0c3d zig fmt: add --check flag
65cddc5a1 test for readIntBE/LE
8008ae470 io read/write int be/le optimizations
772876b2f implement mem.writeIntLE, mem.writeIntBE
8d8836c2d address port getter
3666fbd9f ** and ++ operators force comptime on operands
14308db92 Manual update to new grammar. TODO: Figure out how we can auto update this, when the grammar changes in the zig-spec repo
5b3f7a8e1 Fixed error where we didn't expect the return type of a function
8139c5a51 New Zig formal grammar (#1685
932756857 error set decl not dot
187f75e4c Fmt pass to revert dot initializer and container decl
aafc3de93 error -> anyerror
67fbb0434 ir: remove redundant casting code
ef5d7ce46 array type syntax implies comptime
8e69a18d8 made colored output more consistent (#1706
ac8898e68 std.build.Builder: mutable env_map
d9fe38789 macos: use the same code as linux to determine libc include path
63f636e7b limit integer types to maximum bit width of 65535
a08b65720 README: update CI badges
2928b01af fix broken cli test and translate-c: support no-op cast
eba90cdc4 ci: remove accidental .lib files from windows zip
86e3b5156 ci: 7-zip instead of info-zip for windows
3ec58b8e0 ci/azure: set wget to non-verbose mode to make logs easier to read;
0a495aa56 update type info behavior test
c19bc7ecb update self-hosted compiler for new targets
5b96cc236 update to build against llvm trunk
197ffe009 update ci scripts for llvm 8
f8d6f5daf Merge remote-tracking branch 'origin/master' into llvm8
973e0abe7 ci: full test suite
e64e8d62d ci: display environment variables
9b0fb8a91 ci: fix paths
dc2dfef0a ci: upload a src tarball too
caf1ec947 ci: fix shasum commands
eb1c76940 ci: add missing steps field
c2df9236c ci: use azure for all CI
5d014d4b3 os.crypto: support for HmacBlake2s256 variety;
c7b79284e azure: build static macos
1554dd969 support building static self hosted compiler on macos
5c97aff62 readme: MSVC 2017 is the supported one now
5b1b072d8 Merge branch 'winksaville-add-test-for-atomic-Queue-dump'
0f3e7387b cleanups
b04c6cee6 Merge branch 'add-test-for-atomic-Queue-dump' of https://github.com/winksaville/zig into winksaville-add-test-for-atomic-Queue-dump
4e12f909d simplify logic of pass1 ir for while on error unions
7405bc761 remove implicit cast from number literal to enum
ca71373da remove another implicit cast to const pointer
0921a93c1 Merge pull request #1686 from emekoi/comment-fix
c7799ff2b fixed comments
395f3d946 fixed mingw compilation
2b395d4ed remove @minValue,@maxValue; add std.math.minInt,maxInt
40b7652a6 fix stack pointer register name on i386
eb0b1d38f remove 3 more implicit casts to const pointers
73ab0afad Bug fixes in WinSDK detection (#1665
63f9769e8 fix "std" not found error in meta/trait
65b9fae4f fix error where "std" isn't found in meta/trait
b4801186b langref: dark style. easier on the eyes
d7cec5b37 fixes #1667
96923edc5 travis: don't use newer cli args of s3cmd
08c5f7d05 travis: add missing http headers for docs
6fe7dd93c that's not a keyword
0a9b496d7 *const MailboxId -> MailboxId
65b7d8552 Fixed code still using old ptr syntax
58610a442 Add std.meta to deployment (#1670
f3bc1c38b Specify 16-byte stack alignment in _start on FreeBSD
6a8fb0600 Split at zero byte in SplitIterator
e5627f8e6 Support more of std on FreeBSD
831bb6689 Set up libc/rtld paths for FreeBSD
a983a0a59 Add /usr/local/lib path for libxml2 and link libc++ on FreeBSD
d6cab0d4b Various fcntl flags are also machine-independent on FreeBSD
afe26bbcb System call numbers on FreeBSD are machine-independent
7a3f0a55d Add freebsd to more things
1829c0930 Fix os/freebsd files
19659c3bd freebsd: Fix argc resolution in _start
102cb61e4 Get freebsd std compiling again
264dd2eb5 Set FreeBSD ELF OS/ABI when targeting
e2b9c153b Add initial freebsd stdlib functionality
9a541c121 Add FreeBSD support to os.cpp
24e54799f Fix CMake finding LLVM/clang/lld on FreeBSD
db3b768ea Ran fmt on last PR
2a3fdd52c Add std.meta (#1662
b9a53c261 travis: upload langref on successful test run
eeb4f376a std.io: fix compile error when InStream has empty error set
49bc33efe fix windows
d5648d264 remove implicit cast from T to *const T
378d3e440 Solve the return type ambiguity (#1628
822d4fa21 fix compiler crash
3e72411db C ABI and compiler rt improvements for ARM
67fb4d135 Improve time.sleep api
a22d9daae added math.pow support for integer types. resolves #1637 (#1642
9e38a8123 Merge pull request #1647 from ziglang/static-libs
81c6f0872 add workaround for bad LLD macos code
05e608a0c stage1 os: workaround for macos not having environ variable
e29a3b1d2 stage1 link: compiler_rt and builtin libs know ...
e0a94db65 fix error limit linker arg on windows
84690ee05 std/special/bootstrap: inline some functions to improve stack traces
6b9349579 more efficient builtin library code generation
5a3c02137 support building static libraries
d40c4e7c8 Merge pull request #1429 from shawnl/arm64
5b84192f0 build: try to find llvm-config-7 before llvm-config
b7dda772a disable C ABI tests on macos due to LLD deficiency
2d2734172 arm64: respond to code review
4640853d1 link statically if not linking any shared libs, on linux
8700f4d2b docs: add comment about operator overloading
c81a4b3e3 docs: fix double escaping html entities
8d6601d7c improve pointer documentation
d07413f9b fix missing .h files
aa98dda02 Zig fmt translates from old containers and initalizers to new ones.
23b07ad8d refactor ir.cpp
31469daca removed unneeded dll extension
3f13a59cb better mutex implementation
66cb75d11 std.Mutex: implement blocking mutexes on linux
acefcdbca add std.os.linux.vfork and std.os.linux.exit_group
364bc6692 Merge pull request #1619 from bnoordhuis/fix1570
24bbade21 fix build-exe for --target-arch wasm32 (#1570
cd211bcc2 Add doc comment for tokenLocationPtr (#1618
bc3e99c5e Fixed StackTrace not being resolved when panic is invalid (#1615
d4d22df1d increase stack size on windows for all executables
af229c1fd std lib (breaking): posixRead can return less than buffer size
d1ec8377d std lib: flesh out the async I/O streaming API a bit
9d4eaf1e0 update std lib API for I/O
ba78ae0ae Fixes --emit asm on windows and makes C header file generation explicit. (#1612
418b2e7d4 build: omit finding libxml2, zlib since no direct dependency
57c4d38c5 rename std.event.tcp to std.event.net
a42a213e3 Merge pull request #1594 from emekoi/master
e6446dfc8 fixed native target detection
623f5085f merged windows dll apis
42ba206c5 fixed compilation on mingw
d3bf26713 added dynamic library loading for windows
1428ef3b0 Expose failing_allocator as *Allocator instead of const FailingAllocator
40da2c609 Merge pull request #1599 from ziglang/zig-build-arg0
779881b97 zig build: use os_self_exe_path to determine exe path not arg0
e242f6a60 Release 0.3.0
f4a065858 rely on gcc for static builds on macos
fe524a1fa build: add support for ZIG_STATIC on MacOS
cc490f002 update @typeInfo docs
af3263d7a add dll export storage class where appropriate
e7d9d00ac overhaul api for getting random integers (#1578
1c26c2f4d fix crash when compile error evaluating return...
589201b10 fix variables which are pointers to packed struct fields
dcfd15a7f the last number in a packed ptr is host int bytes
631851f8b Tweak SYMBOL_CHAR define in tokenizer.cpp
9485043b3 fix implicit casting to *c_void
7b204649e stage1: Added `zig help` to show usage on stdout
2e562a5f3 fix crash on runtime index into slice of comptime type
839492d0e fix not syntax highlighting builtin module
eafb8e857 fix self reference through fn ptr field crash
0e6c18c82 Remove StrLitKind enum
4241cd666 fix more bigint code paths and add tests
877036e7e fix translate-c test expecting incorrect C ABI on windows
32c91ad89 fix comptime bitwise operations with negative values
422269ea6 minor langref improvements
c5509a07c Ignore class-memaccess error for gcc 8 and above
004c38329 fix translate-c incorrectly translating negative enum init values
8a7737eef fix godbolt cli test on non-linux-x86_64 hosts
6d048aa3b add panic function to godbolt CLI API test
a155f2973 add test to cover the CLI API that godbolt is using
a170a6477 Fix typo in argsAlloc comment
af01c6e2b include LICENSE in windows static builds
f95584443 rm extraneous macro
c84548e71 fix @compileLog having unintended side effects
3c1f9baff doc: add note about reproducible builds
5c15c5fc4 add compile error for slice of undefined slice
2e2740716 stage1: unify 2 implementations of pointer deref
9e5cd43e6 fix comptime string concatenation ignoring slice bounds
0ca12ded2 Merge branch 'raulgrell-BitByteOffsetOfs'
7c5e3e1f8 fixups
5a21d3dce Merge branch 'BitByteOffsetOfs' of https://github.com/raulgrell/zig into raulgrell-BitByteOffsetOfs
44f2ee101 fix comptime slice of pointer to array
073f7ebb0 fix formatInt to handle upcasting to base int size
9c8dfadbb add compile error for casting const array to mutable slice
f8fe517d1 better string literal caching implementation
492821781 add workaround for `llvm-config --system-libs`
ce912e296 add HermitCore target
a4d61b5d7 update to llvm 8
f9bf04c38 travis: build zig with gcc to match what llvm was built with
287f5cce5 build: fix finding llvm and clang 7
e3d8cae35 travis: fix llvm apt package names
6d23619cc fix typo from previous commit
f418a943c travis: fix package names
d4cb37302 travis: update apt repo url
69c876cc8 appveyor: remove old cache file
15301504e Merge remote-tracking branch 'origin/llvm7'
5eeef1f5e std/index.zig: Fix import
6dd93ee5d fix regression from previous commit
21328e003 zig fmt: handle shebang lines
345f8db1c fix optional pointer to empty struct incorrectly being non-null
0ab7cfa02 appveyor: use MSVC 2017
c1af36053 add compile error for slice.*.len
84b963cb1 Merge remote-tracking branch 'origin/master' into llvm7
148fe2e99 stage1 caching: don't write manifest until cache release
275b4100c remove unnecessary setFloatMode calls
4b2719b51 Merge remote-tracking branch 'origin/master' into llvm7
8c77c5705 implementation for bitcasting extern enum type to c_int
5fd3af9dc fix implicit cast of packed struct field to const ptr
1fc201903 fix @embedFile reading garbage memory
93ff5024a minor cleanups from 68c1d05917
d353d5aef fix @bytesToSlice on a packed struct
68c1d0591 compiling on mingw is now supported (#1542
13645585f link to #1544
8f0618a5b Merge pull request #1543 from ziglang/bit_shifting
d7492b2c2 somewhat realistic usecase test for shifting strange integer sizes
bfcfaaf5b fix codegen for @intCast to u0
15e59eb14 remove deprecated, unused windows functions
b16229da1 add compile error for @ptrCast 0 bit type to non-0 bit type
78a9a465a add compile error for non-optional types compared against null
6c71e9a54 fix crash when bit shifting a u1
cf9200b81 dereferencing a *u0 is comptime-known to be 0
4c6f1e614 remove `zig build --init`. add `zig init-lib` and `zig init-exe`
9c9eefc84 allow extern structs to have stdcallcc function pointers
dd5b2d1b0 fix crash when pointer casting a runtime extern function
a2abdb185 Merge remote-tracking branch 'origin/master' into llvm7
780e56744 add docs for `@This()`
3f776af3f fix alignment of structs
d9ed3d186 Add test for Queue.dump
639c38112 fix coroutine alignment
82af31ce3 Fix additional regressions calling FileOutStream/FileInStream init(
5e3932854 docs: more syntax highlighting
3d38feded fix tagged union with all void payloads but meaningful tag
1e03cf173 fix assertion failure on compile-time `@intToPtr` of function
c06a61e9b remove `this`. add `@This()`.
7c3636aaa remove the scope parameter of setFloatMode
9ac9633b1 stage1: put test output artifact back in zig-cache folder
ac0cda8df add compile error for merging non- error sets
22e39e1e5 fix tagged union with only 1 field tripping assertion
77fd147b2 appveyor: skip all release tests to save time
d332311e5 Merge branch 'kristate-cache-invalidformat-issue1510'
e3f0ba498 alternate fix using the rest() function
6d0a12281 src/cache_hash.cpp: support file paths that contain spaces;
e70c543bc math/complex: cexp test correction and ldexp usage fix
afe6316d3 appveyor: skip release-safe to save time
0dbbc91bc docs: langref is now javascript-free
869475c11 ci: skip release-small tests to save time
a75753338 fix zig fmt on windows
178d69191 windows: std.fs functions support concurrent ops
0cfd01937 Merge pull request #1494 from ziglang/stage1-caching
3a49d115c fix zig build cache dir path
1caa48c2d windows os.cpp implementations
7bd8a2695 Merge pull request #1506 from emekoi/master
54f7d5872 fixed WriteFile segfault
ff0b7fe29 error messages for attempted cache when zig cannot perfectly do it
014cc60a7 rename --enable-timing-info to -ftime-report to match clang
ee263a15c bring back zig-cache
25466ffb7 Merge remote-tracking branch 'origin/master' into stage1-caching
7e9f25dd1 stage1: clean up timing report in test mode
6b7f3d01a ci: build zig in release mode
04dc5cdac zig build: make the cache root dir before building
1a4dcf10f darwin fixups
a1132ffe0 stage1: build blake code with -std=c99
9227315bf zig build: better placement of test exe artifact
15c67d2d5 fix docgen tests
4af844732 Merge remote-tracking branch 'origin/master' into stage1-caching
7dd3c3814 fix incorrect error union const value generation
dd1338b0e fix incorrect union const value generation
c4f96ea74 disable stage2 tests on all targets
67735c6f1 ability to disable cache. off by default except for...
a6bf37f8c Merge remote-tracking branch 'origin/master' into llvm7
52f4e934a fix llvm assertion and missing compile error
5ee5933ad stage1 caching: zig no longer uses zig-cache
c7f708939 drop patches on top of clang's C headers
e077d765f LLD patch: workaround for buggy MACH-O code
54e470f93 update embedded LLD to 7.0.0rc3
32be6e9b2 caching is working
c9474faa4 Merge remote-tracking branch 'origin/master' into llvm7
fbe5737c8 stage1: always optimize blake and softfloat even in debug mode
c0bdcc741 `zig id` command
173fc842c basic compiler id hash working
7c9f7b72c Add capacity and appendAssumeCapacity to ArrayList
859b0aee1 Merge pull request #1488 from Sahnvour/windows-resolve-path
d80a5c9a7 Fixes a path corruption when compiling on windows.
17cb69ceb fix elf auxv handling
7d6d1d1f6 NaNs do not have signedness.
fdeb8765f use vfork in stage1 compiler to avoid OOM
cba0d76fb clone() on arm64
f8808edff simplify f64_min to equivilent value
342cff28f initial arm64 support
4a8c992ef os: use less syscalls
d956d3016 this is not arch-specific
200589868 improve panic message from previous commit
9c169f3cf C ABI: support returning large structs on x86_64
9017efee2 C ABI: support medium size structs & unions for x86_64 params
85534a26c stage1: function to classify x86_64 abi types
f2186e5fa Update langref.html.in
09a1162af builtin functions: @byteOffsetOf and @bitOffsetOf
b18af37c5 fix crash when var init has compile error
7505529e4 Merge branch 'c-abi'
743b2e4af add C ABI test for big unions
421ca1523 stage1: refactor variable inits to use c abi fn walk
c528c0090 stage1: refactor param vars for C ABI
04d7b565f stage1: refactor fn type analysis to use C ABI walk fn
be6cccb3a stage1: c abi for big struct works
a9a925e50 add C ABI tests
a375bd0d9 stage1: compile error instead of incorrect code
29923efb9 Merge pull request #1480 from kristate/x25519-pubkey-fix
b4d5d4d17 assume evenly divided base64
15d30b967 std/crypto/x25519.zig: add test for `createPublicKey`;
97c9f61db start creating a hash of input parameters
d1855a0e9 std/crypto/x25519.zig: fix signature for `createPublicKey`;
2d4b95900 stage1: import blake2b implementation
6632d85e5 stage1: improve handling of generic fn proto type expr
1d8b8ad68 add compile error for using outer scoped runtime variables
8400163e0 stage1: rename more TypeTableEntry types to ZigType
1f5c7ff4d stage1: rename VariableTableEntry to ZigVar
3500d32db stage1: rename FnTableEntry to ZigFn
db882e5d6 stage1: rename TypeTableEntry to ZigType
a3d384e59 add test case for #726
cc17b662e Merge branch 'hcff-floatToIntError'
b517bea73 allow comptime_int to @floatToInt
768d1fc53 Added compilation error when a non-float is given to @floatToInt(
ffb3b1576 stage1: fix tagged union with no payloads
c87a576cb stage1 compile error instead of crashing for unsupported comptime ptr cast
ba7836ea4 stage1: fix build on macos
a76a72469 stage1: fix crash when invalid type used in array type
3e94650ef stage1: fix emit asm with explicit output file
9a123697e fix compile error on gcc 7.3.0
ac3cf0775 Merge pull request #1474 from ziglang/issue-1357
ef2b8d457 Downgrade new g++-8.0 error to warning
b35c74ea4 stage1: use os_path_resolve instead of os_path_real
2bf1b6840 port std.os.path.resolve to stage1
869167fc6 compile error for @noInlineCall on an inline fn
cbb3f1d76 ir: consistent error checking for br and cond_br instructions
b00007056 update throughput test to new File API
68db9d507 add compile error for comptime control flow inside runtime block
f27d82fe9 Merge remote-tracking branch 'origin/master' into llvm7
36828a2e6 fix incorrect variable ref count
ff4591f0e fix llvm assertion when adding callsite sret attr
dbde8254d Merge remote-tracking branch 'origin/master' into llvm7
2bd2a8ea3 Merge pull request #1441 from ziglang/poly1305-x25519
8b50d10a8 std/crypto: Clean up poly1305/x25519
bc88ef2dc compile errors for unimplemented minValue/maxValue builtins
e82cd53df fix incorrect value for inline loop
a11e73bee compile error instead of segfault for unimplemented feature
3f273479f clarify const variables in docs
2a9329c99 better anonymous struct naming
95636c7e5 ability to @ptrCast to *void
92f747435 switch most windows calls to use W versions instead of A
d5968086f use the sret attribute at the callsite when appropriate
8558caecb Merge branch 'kristate-std-fmt-hexToBytes'
3eb89ee4d fixups
0d8412d9f Merge branch 'std-fmt-hexToBytes' of https://github.com/kristate/zig into kristate-std-fmt-hexToBytes
ab387bb4c Merge pull request #1460 from ziglang/Sahnvour-windows-coff-issue721
832caefc2 fix regressions
4cd50865b fix source file lookup
98dc943c0 rework code to avoid duplicate operations
fbd9bac5e std/fmt/index.zig: add hexToBytes function under std.fmt;
86e55567b Merge pull request #1454 from kristate/str-hexbytes-issue1453
78a110cda Merge pull request #1452 from shawnl/patch-1
67cb299f7 Merge pull request #1456 from shawnl/inaccurate-comments
528e3b43a these all use futex() (inaccurate comments
d1752fbdc std/fmt/index.zig: test for printing double width hex bytes with zeros;
48d3fbef5 std/fmt/index.zig: set width from 0 to 2;
4bf54f301 std/rb.zig: fix comment
1a5c3e450 Merge pull request #1451 from kristate/fmt-hexbytes-issue1358
19004cd5d Merge pull request #1444 from kristate/winsdk-vercheck-issue1438
7a633f472 std/fmt/index.zig: #1358: test bytes printed-out as hex;
454b2362e std/fmt/index.zig: #1358 allow bytes to be printed-out as hex;
9e6f53dd5 i#1438: src/windows_sdk.cpp: fix version guard in `find_81_version`;
d4474e195 i#1438: src/windows_sdk.cpp: fix version guard in `find_10_version`;
6ddbd345a figuring out where /names stream is
e036f65ac Translate-c: Check for error before working on while loop body (#1445
b36b93fb3 awareness of debug subsections
763845f95 std/crypto: zig fmt
38399941d std/crypto: Update throughput_test.zig to include all hash functions
a7527389c Make poly1305 and x25519 more idiomatic zig
99170aa13 and column info, finding source file, line
72185e7dd finding the function that an address is in
44f908d2e figuring out which module an address belongs in
96117e20c reading the module information substream
65b89f598 Add poly1305 and x25519 crypto primitives
686663239 printing info from the ModuleInfo substream of DebugInfo
f1b71053d use RtlCaptureStackBackTrace on windows
833477abf fix unresolved path preventing PDB loading
41723f842 Merge branch 'windows-coff-issue721' of https://github.com/Sahnvour/zig into Sahnvour-windows-coff-issue721
9de0f900e Merge pull request #1369 from shawnl/crypto
b65cca37c add test coverage for invalid switch expression parameter
901b5c156 add compile error for function prototype with no body
09cc1dc66 fix crash when var in inline loop has different types
87eb95f81 speed up chacha20
444edd9ae std.crypto: add chaCha20
048f506aa labeled for, labeled while, langref: document labeled blocks
fb6d3859e zig fmt
4f2d49fd1 std.zig.parse: fix parsing of doc comments after fields
b92fac329 Merge branch 'raulgrell-CastToCVoid'
45d9d9f95 minor fixups
e2a9f2ef9 Allow implicit cast from *T and [*]T to ?*c_void
c48be3a74 langref: document exporting a library
ecc546402 Handle unions differently in std.fmt (#1432
009e90f44 fix @typeInfo unable to distinguish compile error vs no-payload
2f2215c9f this was intended to be included in the previous commit
526d8425a fix false negative determining if function is generic
68e2794e1 ir: const_ptr_pointee asserts that its return value is non-null
6a3fad1d5 Revert "src/ir.cpp: check return value of `const_ptr_pointee` to protect against dereferencing null pointers;"
0839ed1f9 src/ir.cpp: check return value of `const_ptr_pointee` to protect against dereferencing null pointers;
f7f11e237 Merge remote-tracking branch 'origin/master' into llvm7
8047f0eae fix llvm assertion failure when building std lib tests for macos
cce14f92f update clang headers to 7.0.0rc2
20810e0a7 LLD patch: workaround for buggy MACH-O code
95dbba046 update LLD fork to 7.0.0rc2
7109035b7 Merge remote-tracking branch 'origin/master' into llvm7
526338b00 document fixed-width integer types
56a53021a Merge branch 'tgschultz-patch-3'
2cce17144 add test for previous commit
61c0c6d50 Fixed compile error when passing enum to fmt
4003cd474 Merge pull request #1406 from ziglang/macos-stack-traces
815950996 Merge remote-tracking branch 'origin/master' into macos-stack-traces
8aacfc846 add workaround on macos for shared libraries
02f5a9fa6 fix handling multiple extern vars with the same name
b95ff12f2 fix regressions
ac36f98e7 fix stack traces on linux
32901926f compilation unit cwd dir appears to be unnecessary on macos
4e7c255e4 macos stack traces have address-to-line translation
bf1f91595 std.debug: remove workaround for fixed bug
6b31b178a fix regression from 2f7f7d815d0c9c4e620c7a529837b5
95e197667 macos stack traces have the compilation unit in them
0a918aaa1 Merge pull request #1407 from ziglang/builtin-alignment-fix
05f9b14fc Fix builtin alignment type
3a02ba9b8 fix error message for incorrect panic handler fn signature
3173c90f1 macos stack traces: read debug info sections from .o files
6c064cfd8 Merge pull request #1405 from shawnl/path-max
2f7f7d815 missing PATH_MAX change
5c1ec20c9 MacOS stack traces use the already mmapped executable
327482c3a Merge pull request #1402 from ziglang/default-fp-ieee-strict
68dcdf1c8 Merge pull request #1401 from kristate/mem-testWriteIntImpl-u64
353419f82 Default to strict IEEE floating point
8f96553be rename std.debug.ElfStackTrace to std.debug.DebugInfo
e95345b3d std/mem.zig: test writing u64 integers;
4b68ef45a fix incorrectly generating an unused const fn global
5aeb3217e fixup for previous commit
87b10400c allow implicit cast from *[N]T to ?[*]T (#1398
3d780cf2e Merge branch 'shawnl-path_max'
3dd1026c8 fix docs on windows
02ba4b167 Merge branch 'master' into shawnl-path_max
478db3986 fix selfExePath on macosx
b2917e6be Revert "Merge branch 'mtn-translate-c-enum-vals'"
ea1b21dbd fix linux
51852d258 fix windows
bda5539e9 *WIP* std.os assumes comptime-known max path size
937b822fa Merge branch 'mtn-translate-c-enum-vals'
b023db2e8 src/translate_c.cpp: correctly bridge llvm::APSInt with Zig BigInt;
7e7e59d88 addressing #1360, translate-c: Correctly translate enum init values
dd4b13ac0 Revert "translate-c: Correctly translate enum init values, addressing #1360 (#1377)"
302936309 Merge branch 'path_max' of https://github.com/shawnl/zig into shawnl-path_max
9e9dce76f refactor std.os.makePath to use a switch instead of if
820bf054e std.fmt.format: handle non-pointer struct/union/enum
b8ce8f219 addressing #1360 (#1377, translate-c: Correctly translate enum init values
3ee1b60ed langref: add docs for peer type resolution
bb9388679 do not use an allocator when we don't need to because of the existance of PATH_MAX
53b18b079 Add secureZero function
1da93cace @memset function signatures, docs: correct @memcpy
4c95b2f9d Merge pull request #1379 from tgschultz/patch-1
fa955f002 fixed handling of [*]u8 when no format specifier is set
52471f622 Merge pull request #1378 from prazzb/cmake-fix
6e55f6158 Find local llvm-config first
65497121f Merge pull request #1370 from shawnl/master
64a71be5c rb: some style fixes
c4b9466da Merge pull request #1294 from ziglang/async-fs
598e80957 windows: call CancelIo when canceling an fs watch
0df485d4d self-hosted: reorganize creation and destruction of Compilation
d40f3fac7 docgen: fix usage of std.HashMap
23af36c54 windows fs watching: fix not initializing table value
26a842c26 windows: only create io completion port once
b219feb3f initial windows implementation of std.event.fs.Watch
c63ec9886 std.event.fs.preadv windows implementation
8b456927b std.event.fs.pwritev windows implementation
d927f347d Fix ir_analyze_instruction_atomic_rmw (#1351
ac12f0df7 fix linux regressions
60955feab std.event.fs.Watch distinguishes between Delete and CloseWrite on darwin
5cbfe392b implement std.event.fs.Watch for macos
a583beb76 mem: use pub on Compare (#1352
034363a86 Merge pull request #1338 from shawnl/master
bbbb26f4d and use it for mem.lessThan(, mem: add mem.compare()
86b512c5c mem: move enum Compare from rb to mem
dcf3869ac Merge pull request #1346 from shawnl/doc
5d2abf440 std: add red-black tree implementation
cb0ef3ad4 doc: @addWithOverflow also returns if overflow occured
1a28f0968 fix hash map test
fd50a6896 std.event.fs support for macos
2c9ed664d merge @kristate's std lib changes to darwin
97be8deba std.HashMap.autoHash: use xor instead of wrapping mult
c02ed8051 Merge branch 'mdsteele-threadid'
24d74cbf4 fix Thread impl on Linux and add docs
d2dd29e80 separate os.Thread.Id and os.Thread.Handle because of windows
0a3ae9dc6 fix std.os.Thread.getCurrentId for linux
647fd0f4f Merge branch 'threadid' of https://github.com/mdsteele/zig into mdsteele-threadid
72bac7233 Merge pull request #1339 from ziglang/zen_stdlib
79d77faeb More type cast fixes
641066d82 Fix casts
d2f5e57b6 Merge branch 'master' into zen_stdlib
63a23e848 translate-c: fix for loops with var init and empty body
387fab60a translate-c: fix do while with empty body
c420b234c translate-c: handle for loop with empty body
aa232089f translate-c: fix while loop with no body
6cf248ec0 update c_headers/* to LLVM 7.0.0rc1
7a2401ef1 Don't compare ?Thread.Id == Thread.Id in the test
ee68f28bb LLD patch: workaround for buggy MACH-O code
c4d31c832 build: update embedded LLD build files
cfb29f18e update embedded LLD to 7.0.0rc1
b48948d6e Merge branch 'master' into llvm7
a25824e03 zig/std/os/index.zig: clean-up thread id; (#1
86d1cc8e2 Add thread ID support to std.os.Thread (fixes #1316
2680f9ab4 Merge remote-tracking branch 'origin/master' into async-fs
c5f1925bc don't regenerate them, when decls don't change
5dfcd09e4 self-hosted: watch files and trigger a rebuild
9bd8b0165 fix tagged union initialization with a runtime void
c66c6304f add a friendly note in .gitignore
dcaaa241d Fix a type error in std.os.linux.getpid() (#1326
c2a08d7c5 Fix the start-less-than-end assertion in std.rand.Random.range (#1325
298abbcff better support for `_` identifier
7f6e97cb2 fixups from the merge
65140b2fb Merge remote-tracking branch 'origin/master' into async-fs
951124e17 evented I/O zig fmt
821805aa9 WIP: Channel.getOrNull
fb05b9649 Merge branch 'kristate-handle-builtin-issue1296'
895f262a5 pull request fixups
44fd3045c Merge branch 'handle-builtin-issue1296' of https://github.com/kristate/zig into kristate-handle-builtin-issue1296
9ecbabfc4 Merge branch 'pr-1319'
729f2aceb fix API of RtlGenRandom
cbca434cf Merge branch 'windows-RtlGenRandom-issue1318' of https://github.com/kristate/zig into pr-1319
782043e2e std/os/windows/util.zig: SKIP instead of PASS on non-windows systems;
dde7eb45c std/os/index.zig: call getRandomBytes() twice and compare;
c44653f40 std/os/index.zig: swap CryptGetRandom() with RtlGenRandom();
22fd359e2 std/os/windows/advapi32.zig: add SystemFunction036;
432b7685b std/os/index.zig: use "hw.logicalcpu" instead of "hw.ncpu" in macOS; (#1317
96a94e7da std/event: directly return @handle();
ac0a87d58 doc/langref.html.in: add builtin @handle() to docs;
9b890d706 test/cases/cancel.zig: update suspend to use @handle();
9bed23f8b test/cases/coroutines.zig: update suspend to use @handle();
915e321a2 doc/langref.html.in: update suspend example with @handle();
5de92425d src/parser.cpp: fix typo from rebase;
ff4a03f35 doc/langref.html.in: update docs to reflect that the promise symbol is no in scope with suspend;
51955a5ca test/compile_errors.zig: update test to reflect that the promise symbol is no in scope with suspend;
9b3cebcdb test/cases/coroutines.zig: test for immediate resume inside of suspend with @handle();
3241ada46 test/cases/coroutines.zig: update test to reflect that the promise symbol is no in scope with suspend;
79792a32e test/cases/coroutine_await_struct.zig: update test to reflect that the promise symbol is no in scope with suspend;
bc032a89c std/zig/parser_test.zig: update test to reflect that the promise symbol is no in scope with suspend;
9fe140aba std/event/tcp.zig: remove promise_symbol from suspend and use @handle();
a3705b425 std/event/loop.zig: remove promise_symbol from suspend and use @handle();
efec3a0e3 std/event/lock.zig: remove promise_symbol from suspend and use @handle();
b4ff464d3 std/event/group.zig: remove promise_symbol from suspend and use @handle();
244a7fdaf std/event/future.zig: remove promise_symbol from suspend and use @handle();
29057e551 std/event/channel.zig: remove promise_symbol from suspend and use @handle();
d3f628907 src/parser.cpp: remove promise_symbol from suspend;
b3cd65d56 src/ir.cpp: remove promise_symbol from suspend;
5e5685c11 src/ast_render.cpp: remove promise_symbol from suspend;
ca1b35633 src/all_types.hpp: remove promise_symbol from suspend;
92cb330e1 src/codegen.cpp: @handle(): replace hacky ref chain with llvm intrinsic;
13ec5db23 test/compile_errors.zig: @handle() in non-async function
c546f750f test/compile_errors.zig: @handle() called outside of function definition;
104bdb03d src/codegen.cpp: return promise instead of null promise;
a8ea23609 src/ir.cpp: don't allow `@handle()` outside of a function;
fcf53b31f src/ir.cpp: return promise->T instead of promise;
1f0040dd9 test/cases/coroutines.zig: remove dummy assert used for testing;
c1a3b0cb0 src/ir.cpp: add/throw error for @handle() in a non async context;
db362bec1 src/codegen.cpp: reassert that there are no generated errors in codegen;
0ee650256 src/codegen.cpp: remove `add_node_error` from `ir_render_handle`;
81f463626 src/codegen.cpp: add/throw error for @handle() in a non async context;
a2e569122 src/codegen.cpp: return null if calling convention is not async;
9366a58bd test/cases/couroutines.zig: test @handle();
da5f3d5c4 src/ir_print.cpp: support `@handle()`;
cd1818671 src/codegen.cpp: base handle builtin on `@frameAddress()`;
a9ea22d4f src/ir.cpp: wire-up IR for handle builtin;
e79c913cb src/all_types.hpp: add enums for Handle Builtin;
e3ae2cfb5 add std.event.RwLock and a few more std changes
e66f53897 Add integer binary output format (#1313
de949b72c simpler std.event.Lock implementation
f804310d9 Merge remote-tracking branch 'origin/master' into llvm7
058bfb254 std.fmt.format: add '*' for formatting things as pointers
0db33e9c8 Add "Comments" section to language reference (#1309
3c8d4e04e std: file system watching for linux
a870228ab self-hosted: use std.event.fs.readFile
cc4552733 introduce std.event.fs for async file system functions
5d4a02c35 Merge pull request #1307 from ziglang/cancel-semantics
cfe03c764 fix docs for break from suspend
c91c78195 add behavior tests for cancel semantics
6fd6bc94f await sets suspend bit; return clears suspend bit
09304aab7 fix cancel and await semantics
608ff52dc add SliceOutStream, rename SliceStream to SliceInStream (#1301
f884381c6 Merge pull request #1300 from dbandstra/more-stream-functions
f36faa32c add skipBytes function to InStream
3ce0ea884 add int writing functions to OutStream
0d79e0381 canceling an await also cancels things awaiting it
05456eb27 make some functions in std.event.Loop public
dd272d131 await cancels the await target when it is canceled
0ba2bc38d await checks the cancel bit
60cda3713 suspend cancels awaiter when it gets canceled
c6f9a4c04 cancel detects suspend bit
6fed77763 cancel detects if the target handle has already returned
f0c049d02 detect double await
e5beca886 suspend checks the cancel bit
e491c3818 resume detects resuming when not suspended
341bd0dfa await sets the await bit
0b7a9c072 cancel sets the cancel bit
02c5bda70 remove ability to break from suspend blocks
442e244b4 suspend sets suspend bit
10764ee0e resume clears suspend bit
7113f109a update coroutine return codegen with new status bits
b3f4182ca coroutines have 3 more bits of atomic state
2cbad364c add compile error for ignoring return value of while loop bodies
fd575fe1f add compile error for missing parameter name of generic function
84195467a add compile error for non-inline for loop on comptime type
225766091 fix assertion failure when some compile errors happen
95f45cfc3 patch LLD to fix COFF crashing when linking twice in same process
02713e8d8 fix race conditions in self-hosted compiler; add test
adefd1a52 self-hosted: function calling another function
2ea08561c self-hosted: function types use table lookup
1d4a94b63 remove old section from readme
29e19ace3 fix logic for determining whether param requires comptime
74c80d2c7 Merge pull request #1282 from nwsharp/master
004655185 std.io: PeekStream and SliceStream
dd9728c5a Merge remote-tracking branch 'origin/master' into llvm7
10bdf73a0 Merge pull request #1266 from ziglang/self-hosted-libc-hello-world
72599d420 self-hosted: find all libc paths; windows linker code
2614ef056 self-hosted: basic linker code for macos
7dbbddf2a macho backtraces - use std.sort.sort instead of insertion sort
5a919dd82 Merge remote-tracking branch 'origin/master' into self-hosted-libc-hello-world
10d2f08d3 self-hosted: fix error messages not cleaning up correctly
d767fae47 self-hosted: add first compare-output test
93e78ee72 self-hosted can compile libc hello world
99153ac0a add std.math.big.Int.fitsInTwosComp
d53fae355 Add big int fits function (#1279
07b6a3d33 Tighten Int.to bounds and add twos-complement bitcount
bbd293355 Merge branch 'kristate-posix-darwin-issue1271'
20f286f22 re-organize std lib darwin files
f72f46e91 Merge branch 'posix-darwin-issue1271' of https://github.com/kristate/zig into kristate-posix-darwin-issue1271
0a32f80d9 Merge branch 'kristate-skippable-tests-issue1274'
4d9964a45 rename error.skip to error.SkipZigTest
44292721b Merge branch 'skippable-tests-issue1274' of https://github.com/kristate/zig into kristate-skippable-tests-issue1274
bb1b79671 README: include link to channel logs (#1278
2ec9a1164 Very much WIP base implementation for #721. Currently does: - read COFF executable file - locate and load corresponding .pdb file - expose .pdb content as streams (PDB format
c5c053b6f std.event.tcp: add switch statement in preparation for building-out abstractions;
bc411af4f std.event.tcp: SKIP test instead of OKing test;
df574ccf8 std.special.test_runner.zig: make tests skippable;
501dd5f28 CMakeLists.txt: add darwin_socket.zig;
460c26621 std.os.posix: Add SOCK_* for darwin;
8062afcb3 std.os.posix: Add SYSPROTO_* for darwin;
7ef110b48 std.os.posix: Add AF_* for darwin;
58c5f94a9 self-hosted: share C++ code for finding libc on windows
1f4c7d5eb Fixed windows getPos
f5a67dba0 self-hosted: implicit cast comptime ints to other ints
33fbd8c1d self-hosted: convert some stuff to async/await
d9fc14975 relative path to cwd in compile errors
0a880d5e6 fix generation of error defers for fns inside fns
3908b4fde self-hosted: refactor ParsedFile out of existence
0736e6aa3 std.os.File: add missing pub modifiers
a9f0681f8 prevent non-export symbols from clobbering builtins
1d85b588e self-hosted: progress on IR for supporting libc hello world
7f1a55076 std.zig.parse: fix treating integer literals as string literals
bd1c55d2c self-hosted: compile errors for return in wrong place
aa3b41247 self-hosted: linking against libc
3e4a3fa5b self-hosted: find libc on linux
fd3a41dad Allow pointers to anything in extern/exported declarations (#1258
c393a399f fix invalid character test on windows
cd488c9da fix std.os.getAppDataDir test on linux
a8a1b5af0 fix build on windows
b7be082bd -Dskip-release now also skips build example tests
843529d23 implement proper utf16leToUtf8
cbfe9a407 fix @setEvalBranchQuota not respected in generic fn calls
6394f7e9a Fixed minor documentation errors (#1256
a9ab528e3 std.event.Loop.onNextTick dispatches work to waiting threads
ecf8da00c self-hosted: linking
1a7cf4cbc port 69e3b4e to self-hosted compiler
3cbf59b4c Add swapRemoveOrError (#1254
d1a60243c Give ArrayList tests consistent names (#1253
69e3b4e7d revert commit 860d3da9156a0b1f4a1e3e644b423da3e768bb86 ; please see #1249 for more information; (#1255
3bb00eac3 self-hosted: implement getAppDataDir for windows
97bfeac13 self-hosted: create tmp dir for .o files and emit .o file for fn
0fa24b6b7 allow implicit cast of undefined to optional
9b56efc95 remove std.ArrayList.removeOrError function
558b0b879 Merge remote-tracking branch 'origin/master' into llvm7
d3ce9d064 codegen: remove unused variable
e9a03cccf all integer sizes are available as primitives
363f4face self-hosted: generate LLVM IR for simple function
2255f275a update for latest clang API
4d920cee6 Merge remote-tracking branch 'origin/master' into llvm7
28c3d4809 rename Module to Compilation
69e50ad2f Improve realloc on fixed buffer allocator (#1238
278829fc2 self-hosted: adding a fn to an llvm module
91636f1e8 Merge pull request #1237 from BarabasGitHub/fix-reallocating-from-0
c021a4456 Fix aligned reallocation from zero size.
8be6c98ca Create unit test that tests aligned reallocation.
29c756abb docs: correct some misinformation
bf441ed24 Add --stdin option to zig fmt
ed3181f02 Merge branch 'eduardosm-extern-return-small-struct'
f78d4ed30 add an assertion to the test
722b9b9e5 codegen: Store returned value if type is 'handle_is_ptr' and function is not 'first_arg_ret'.
2a719ee6c Merge branch 'tgschultz-arraylist-remove'
b44332f5a std.ArrayList - rename remove to swapRemove
a0c1498e6 Added `remove` to ArrayList
317ed57cb docs: clarify mem.Allocator.reallocFn
5f1aa3505 Merge pull request #1232 from BarabasGitHub/fix-array-list-insert
e78b1b810 self-hosted: basic IR pass2
fe98a2da7 Add a copyBackwards to fix the broken insert methods for ArrayList.
a1cafa650 Improve ArrayList insert unit tests.
c87102c30 ir_get_ref: delete unnecessary and probably buggy code
171f33b96 ir: remove unnecessary and probably buggy code
860d3da91 ir: remove dead code
5354d1f5f allow == for comparing optional pointers
ac096c294 zig fmt
69e60e351 self-hosted: better IR for empty fn
687bd92f9 self-hosted: generate zig IR for simple function
ce11d6d16 ir: refactor lvalues
30c4add85 std.event.Future: workaround in tests for llvm coro memory
9751a0ae0 std.atomic: use spinlocks
9bdcd2a49 add std.event.Future
5954c94d2 build system: add -Dskip-release option to test faster
3f30897fd add compile error for disallowed types in extern structs
3aaf814b9 Merge pull request #1216 from ziglang/sort-improvements
9b054e73f Add generic comparator generator functions for sorting
c6c49389e self-hosted: add compile error test for missing fn name
c620a1fe3 Merge pull request #1215 from ziglang/self-hosted-first-test
da3acacc1 update vendor list for newest llvm version
8197a14ce self-hosted test: use C allocator since we depend on libc
574e31f0a self-hosted: first passing test
8fba0a6ae introduce std.event.Group for making parallel async calls
cfaebb20d Merge remote-tracking branch 'origin/master' into llvm7
0ce6934e2 allow var args calls to async functions
696ef0bc0 langref: docs for union safety
28f9230b4 fix crash when calling comptime-known undefined function ptr
b5cfbfd84 fix regression from b6eb4048
1b82a9def enable basic event loop test
b6eb40483 organize std.event into directories
ccef60a64 Merge pull request #1198 from ziglang/m-n-threading
10cc49db1 define c macros before importing llvm h files
c89aac85c better workaround for guaranteeing memory in coroutine frame
a2834d48b Update throughput_test.zig. (#1211
1a1534ecb fix regression on macos
3f4d0ecd7 Merge remote-tracking branch 'origin/master' into m-n-threading
0ac1b8388 fix non-portable format specifier
946285243 std.event.Loop multithreading for windows using IOCP
caa008505 implement std.os.cpuCount for windows
05f1ea33d ZIG_DEBUG_COLOR=1 overrides tty detection for runtime stack traces
2ee67b764 langref: docs for invalid error set cast and incorrect pointer alignment
9eb51e20e fix crash on @ptrToInt of a *void
42ba06133 std.Hashmap - don't use catch unreachable in tests
a0c564d76 zig fmt
3ba451778 fix regressions on linux
82e9190d0 Update zig.parser benchmark program
04d3da4bd std.os.cpuCount implementation for macos
50d70d5f4 tests passing with kqueue on macos
410b4d9bd builder.addBuildOption
ced3aae3b cleaner output from zig build when there are compile errors
c15a6fa9d add std.os.cpuCount and have std.event.Loop use it for thread pool size
57f36c420 std.event.Loop: use EPOLLONESHOT to save 1 syscall
eb326e155 M:N threading
d8295c188 add @popCount intrinsic
e19f0b5d9 remove outdated semantic analysis documentation
4ad4cd265 fix iterating over a void slice
1cf7511dc add compile error notes for where struct definitions are
6d793c0ea langref: add more internal links
0e9fef78d Merge branch 'isaachier-switch-enum-fix'
1a5bd8888 alternate implementation of previous commit
b5d07297d Merge remote-tracking branch 'origin/master' into llvm7
9cff23dbf Fix assertion crash on enum switch values
9395162a7 Debug enum issue
8c39cdc89 fix await on early return when return type is struct
1d1868862 Do not normalize langref.html.in line endings
28821b5f3 Fixed last commit compiler error
4f32b8614 Allow allocation of any 0 sized type (not just void
291afcf75 fix runtime libc detection depending on locale
27fc49f72 langref: improve docs for while and undefined
9665cfe02 update for latest llvm
1eda86e1a Clean up outstanding compiler_rt todos
6e1425e31 Merge remote-tracking branch 'origin/master' into llvm7
06e8c2e51 fix stage2 macos build
bd282d6cc Merge pull request #1176 from bnoordhuis/f16-std
22b731246 Merge pull request #1173 from ziglang/event-loop-channel
35463526c add runtime safety for `@intToEnum`; add docs for runtime safety
2da999372 add another BuildError code
96a6bc57d modify std.event.Loop to work for windows and macos
a3f55aaf3 add event loop Channel abstraction
2759c7951 always link against compiler_rt.o even when linking libc
0206b7635 syntax in build.zig example doc
e833a5a24 gitignore docgen test artifacts
4c0e280d6 Merge pull request #1185 from ziglang/undefined-at-comptime-improvements
b182151de Fixed line numbers for tests
055e0fef4 Avoid resolve_const in cmp when instr are not comptime
ecd5e60be Expanded the list of operators that catch undefined values at comptime
42033ea3c Merge pull request #1167 from ziglang/comptime-array-by-value
3f4b77f56 Merge pull request #1177 from jayschwa/fix-out-of-src-builds
01bd5c46e Revert "ir_resolve_const now checks recursivly for undef values"
616fe798c Revert "contains_comptime_undefined_value should not follow pointers"
887c97742 Alignment fix and allow rudimentary f128 float printing
951512f5a compiler_rt: Add CMake entries
9f48b2ab4 compiler_rt: Remove wrapping add/sub operators where unneeded
814a34f26 compiler_rt: Add floattitf/floattidf/floattisf
53fef94b9 compiler_rt: Add missing install targets
e19fc4a0a compiler_rt: Add missing exports
cb7bdc2da compiler_rt: Add floatuntitf
61ebfe660 compiler_rt: Add floatunditf and floatunsitf
c32b2e45e compiler_rt: Add floatuntisf
379950f81 compiler_rt: Add trunc f128 narrowing functions
25bbb1a8f Fix version detection for out-of-source builds
30cfc0ab2 test std.math f16 sqrt support
be3617906 add std.math f16 signbit support
ca444e619 add std.math f16 copysign support
d293f1a0e add std.math f16 floor support
1abc92529 add std.math f16 fabs support
f36b095b5 add std.math f16 isnormal support
30b75ae35 add std.math f16 isfinite support
a36d7b613 add std.math f16 inf support
27b02413d add std.math f16 nan support
61df5bc14 add std.math f16 constants
a3ab4325f Merge pull request #1175 from bnoordhuis/zig-test-emit-switch
03f66825d support --emit in 'test' command
f1c56f7f2 Clarify reason implicit cast does not work for large RHS (#1168
0874a5ba7 std.atomic.queue - document limitation and add MPSC queue
58b169218 contains_comptime_undefined_value should not follow pointers
4c3f27ce1 ir_resolve_const now checks recursivly for undef values
b1128b18d Assert that array is not ConstArraySpecialUndef in const_values_equal
3ec38b249 Implement const_values_equal for array type * This allows arrays to be passed by value at comptime
4a35d7eee Correct hex-float parsing
2fa588e81 fix coroutine accessing freed memory
19961c50e fix comptime @tagName crashing sometimes
6f88ecc9b add f16 to langref
3e94347e6 Fix up some std.rand syntax #1161 (#1162
1b4bae6d6 Merge pull request #1159 from bnoordhuis/f16
440c1d52b simplify comptime floating-point @divTrunc
fd75e73ee add f16 type
1f45075a0 dry floating-point type definitions
0ebc7b66e scope variables in floating point cast tests
4de60dde6 langref: explicit cast section
11ca38a4e fix crash for optional pointer to empty struct
af95e1557 rename get_maybe_type to get_optional_type
8e714289c Fix os_path_join for case where dirname is empty
3290e7283 std.zig.ast: fix incorrect impl of FnProto.firstToken
8866bef92 clean up self hosted main. delete unsupported commands
be2a4c42b Merge pull request #1149 from ziglang/issue346
459d72f87 fix compiler crash for invalid enum
5f38d6e2e __extenddftf2, add casting docs, and __extendsftf2
47dd1049c Merge pull request #1145 from isaachier/bigint-neg-one-incr-fix
f1207a8e7 Add test case
eeda1a139 Fix logic
0ab4afbf4 Fix increment operation for bigint -1
f50c0c664 Add float repr bit extraction functions
eb6a8e6a3 fix f128 remainder division bug
4eca75c53 Merge branch 'kristate-stdmem-replace-create-with-construct'
85f928f8b remove std.mem.Allocator.construct and other fixups
e891f9cd9 zig fmt
6bd861006 std.mem.Allocator.construct: improve formatting;
4b46af481 std.mem.Allocator.construct: remove deprecation warning;
71db8df54 std: update stdlib to match updated allocator create signature; ref #733
457c0f0a7 std.mem: remove allocator create in favor of construct; ref #733
55193cb13 fix runtime fn ptr equality codegen
7c99c30bf fix calling method with comptime pass-by-non-copyign-value self arg
42db807f3 remove redundant implicit casting code
ee525c92a langref: organize docs for inline loops and add note about when to use it
c7804277b `@floatToInt` now has safety-checked undefined behavior
0b92d689d update langref
85422d7ae Merge pull request #1136 from alexnask/typeinfo_improvements
9f2324389 Merge pull request #1134 from ziglang/no-explicit-casting
811539f8e Added missing ?type in docs.
139231323 @typeInfo now uses optional types instead of @typeOf(undefined
a3ddd0826 remove enum to/from int casting syntax; add `@enumToInt`/`@intToEnum`
dd6273726 translate-c: add new libclang c types
626b73e8b remove error to/from int casting syntax; add `@errorToInt`/`@intToError`
a430853a4 standard library fixes
1aafbae5b remove []u8 casting syntax. add `@bytesToSlice` and `@sliceToBytes`
5d705fc6e remove error set casting syntax. add `@errSetCast`
c75798487 Merge remote-tracking branch 'origin/master' into llvm7
1ca90b585 zig fmt: support directories
cd4676a23 stage1: update darwin code to workaround old libc bug
1aa93808b Merge branch 'binary132-fix-1117-macos-realpath'
4ce36a647 adjust logic for finding the path to zig executable on darwin
c09c3902c Merge branch 'fix-1117-macos-realpath' of https://github.com/binary132/zig into binary132-fix-1117-macos-realpath
48985a7e6 langref: add docs for void
8fd7cc11e disallow opaque as a return type of fn type syntax
d49d6f0cd fix compiler crash when using @intToFloat with float literal
7151d7253 Merge pull request #1130 from ziglang/remove-bool-casting-syntax
c7057bd25 Fix 1117: Revise realpath scratch logic
045682289 Fix 1117: Tweak realpath logic to use out_path as scratch space
e6b69151c Fix 1117: Use realpath in stage1 Darwin os_self_exe_path
4210f1f6a remove bool to int syntax. add @boolToInt
d52ef95f7 disable failing macos test. see #1126
92a36040b msp430 target: c_long is always 32 bits
906ed059c update std.DynLib to use @intCast
431fda414 Merge pull request #1123 from ziglang/remove-number-casting-syntax
e5956f23c add target C int type information for msp430 target
74ccf56a4 update more tests
3c12ba718 update test cases
791206122 remove integer and float casting syntax
06a26f096 std.Complex: use better arg passing convention and fix a TODO
751518787 Merge pull request #1109 from ziglang/pass-by-non-copying-value
3ee4d23eb posix read can return error.IsDir
eae9634ac langref: be clear that float types are always IEEE 754
472b7ef7e disable byval
e311cd562 don't automatically take pointer when passing by non-copying value
59b3dc890 allow passing by non-copying value
a7d59086b disable load dynamic library test
c529b814e load_dynamic_library test: no need to link libc
f47655eb6 pointer reform: missed change in windows specific code.
65d04cbeb std.DynLib: open the fd with CLOEXEC
48de57d82 add basic std lib code for loading dynamic libraries
b3a3e2094 Make `zig version` compliant with SemVer (#1113
84a700f97 llvm7: find external liblldWasm and update for newest lld macho API
32dd98b19 Merge remote-tracking branch 'origin/master' into llvm7
f0697c28f langref: docs for error return traces
cdf1e366f broken by previous commit, fix build on windows
6943cefeb std.os.path.dirname: return null instead of empty slice
2219cc061 Merge pull request #1105 from ziglang/i128-compiler-rt
4ec09ac24 Enabled optional types of zero bit types with no LLVM DI type. (#1110
a369d69c5 Add windows x86_64 i128 abi workaround
fc87f6e41 fix race condition bug in test harness of std.atomic
e1f56c9af std.zig.ast: add test for iterate
41e6c664d langref: add merge error sets operator to operator table
8dd24796c disallow implicit casts that break rules for optionals
911014051 Add i128 compiler-rt div/mul support
86adc1ef3 add docs and missing test case for merging error sets
13d3255e2 docgen: don't leave garbage .h files lying around
fdd9cf092 better debugging for CI failures of std.atomic
259413251 fix ability to call mutating methods on zero size structs
7580e39b3 zig fmt
3dd9af994 implement std.os.Dir for windows
0a18d53c3 langref: add orelse keyword to syntax highlighting
525256613 langref: add coroutines documentation
03c16c6c5 implement @tagName as a switch instead of table lookup
854f90aa3 Added C string support to fmt by using "{s}". The format string requirement is for saftey. (#1092
dc8bda7e0 Add arbitrary-precision integer to std
0a95b0f1f std.zig: update syntax for orelse keyword
77678b2cb breaking syntax change: orelse keyword instead of ?? (#1096
bbb9a9141 zig fmt: translate ?? to orelse
ec1b6f667 breaking syntax change: ??x to x.? (#1095
d464b2532 support `--target-arch wasm32` (#1094
657e33d3c zig fmt: translate ??x to x.?
7a9635555 std/fmt: Use lowercase k for kilo in base 1000 (#1090
670a0a3ee Merge branch 'clownpriest-arraylist_set'
fc6446702 clean up std.ArrayList
e0092ee4a add set function to arraylist
9046b5eac fix assertion failure when debug printing comptime values
6edd81109 nullable pointers follow const-casting rules
1a9d2f3aa Fix error handling in Buffer::fromOwnedSlice (#1082
39fa313ad disable some implicit casts for unknown length pointers
bf3d1c1aa Allow access of array.len through a pointer
ffb089a9f Fix json parser comma after empty object case
f0b6dac1f add implicit casts from `*[N]T`
b65203f57 remove @canImplicitCast builtin
688ff2830 langref: automatic update of builtin.zig
31aefa6a2 fix structs that contain types which require comptime
b11c5d8f8 fix std.os.windows.PathFileExists specified in the wrong DLL (#1066
4fc601895 Fix const-ness of buffer in replaceContents method (#1065
e7f141b37 Add json.TokenStream (#1062
f389e5373 Add newline to zig fmt error (#1064
212449bc2 Fix Log2Int type construction
d3693dca7 Pointer Reform: update @typeInfo
76c8efd56 add test for not allowing implicit cast from T to [*]const T
bd13e757e disable deref syntax for unknown length pointers
0ccc18686 disable field access for unknown length pointers
bbb565a21 README: update support table
652f4bdf6 disallow unknown-length pointer to opaque
ef7f69d14 update to latest libclang
ba5eeea1e Merge remote-tracking branch 'origin/master' into llvm7
7a0948253 fix crash when evaluating return type has compile error
7dd18294b Merge remote-tracking branch 'origin/master' into llvm7
677eaf29b Merge pull request #1057 from ziglang/comptime-int
a8146ade2 Renamed UndefinedLiteral to Undefined
236c680f6 Removed NullLiteral to Null
02cb220fa Renamed "(int/float literal)" to "comptime_int/float"
e53b683bd Pointer Reform: proper slicing and indexing (#1053
32e0dfd4f never call malloc with size 0
d21a1922e support `zig fmt: off` and `zig fmt: on` between top level decls
8dfa66fee Merge branch 'tgschultz-zig-custom-format'
11e7e0313 Merge branch 'zig-custom-format' of https://github.com/tgschultz/zig into tgschultz-zig-custom-format
58ce79f93 Merge remote-tracking branch 'origin/master' into llvm7
96164ce61 disallow single-item pointer indexing
4c273126d Add context to zig_unreachable calls (#1039
b85b68a7f better compile error for error sets behind nullable
e514454c0 Make zig fmt exit with error on any parse errors
f06bce5dd introduce [*] for unknown length pointers
7b386ea24 fix build file template
aa6f99a07 zig fmt
1e78b634b Tried to remove typeId builtin... All the code for it is removed, but now, some TypeId structs are resolved to the wrong type.
c22ee5281 Removed TagType builtin function
9dc8344f1 Removed offsetOf builtin
7e3399f32 Added TagType to std.meta
c7ff2956d Removed memberName/Count/Type builtins
65204a496 Removed builtin tagName function
b71ed11c3 Removed builtin ArgType
6655d11eb Added std.meta to CMakeLists
b780004bb Added a lot of convenience functions to std.meta
f86cccae8 Added a workaround for tagName on unions
b9aa95524 Ran zig fmt on std.meta
a3ba0144a max/minValue does the same as compiler for ints
85dde8269 Added std.meta.max/minValue
f61bd37e6 Added std.meta.tagName
a3d7a807b appveyor: remove llvm 5.0.1 from cache
081072d3b docs: add missing builtin to langref syntax coloring
08693411d fix typo (#1034
3918e7699 Merge pull request #1032 from ziglang/pointer-reform
e29d12d82 fix incorrect address-of syntax on windows
5f38a01ed run zig fmt
4d13ab07d std.zig: update to new pointer syntax
2a7c8c5b1 add test case for pointer to type and slice of type
019217d7a fix regressions
2f614c42f ir: rip out special logic for using addr-of instruction for types
fcbb7426f use * for pointer type instead of &
f8e213d55 zig fmt: translate & to *
717ac85a5 zig fmt: add --color option to CLI help text
a05acaf9f Add --color CLI option to zig fmt
d8699ae57 zig fmt: don't compute a sha-256 for no reason
ea58f4a5a run zig fmt on the codebase
b082cd458 zig fmt: field access does not cause spaces for slicing
84b184202 zig fmt: space after fn in fn prototypes
93b51b0e4 spaces around slice operator if operands are infix
2c96f19fd std.zig.render returns bool of whether anything changed
940a85444 Fix MacOS CI Timer test failing...?
fb001f5e9 Fixed character handling
8938c16f3 Formatting
4e1d0a59f Minor typo
8fc52a94f Added custom formatter support, refactored fmt.format
83869ea7c Tried to remove typeId builtin... All the code for it is removed, but now, some TypeId structs are resolved to the wrong type.
8174f972a Merge pull request #2 from ziglang/master
5b64fbe52 Removed TagType builtin function
bbae2db36 Removed offsetOf builtin
3475a8169 Merged with master
15302e84a Adding workaround for when the user tries to unwrap 'type' closes #1011
1b3aaacba Removed copy-pasted resolve_inferred_error_set both ir.cpp and analyze.cpp have a function resolve_inferred_error_set, as it is not used anywhere in ir.cpp after this change, which is a nearly exact copy-paste. This commit removes the one in ir.cpp and exposes then one in analyze.cpp. This also allows us to make analyze_fn_body local to analyze.cpp
2b3af4ef6 as the fn type should have already been resolved completly. The only thing analyze_fn_body does here, fixed #1009 ir_make_type_info_defs already calls resolve_top_level_decl on all Tld when building the def array. This means, is cause problems with generic functions., that there is no reason that analyze_fn_body is nessesary
b0eebfa56 fix syntax of std/json_test.zig
d172e3f3b fix AtomicFile for relative paths
5da4333ab Added TagType to std.meta
0c16cd2d0 run zig fmt on the codebase
cdf30c31e zig fmt: fix implementation of firstToken() for fn call
cd325e408 zig fmt: fix extra space after comma before multi line string
cb042c834 Merge remote-tracking branch 'origin/master' into llvm7
eda6898c5 zig fmt: handle if and while indentation better
530d17542 zig fmt: fix spacing when moving doc comment on var decls
0d1b47362 zig fmt: if-else with comment before else
77ec81b03 zig fmt: respect line breaks in if-else
71badebd0 zig fmt: respect line breaks after infix operators
354ab1c5c zig fmt: render fn decl with trailing comma 1 line per param
530da3635 zig fmt: fix enum decl with no trailing comma
6c1fda3f9 zig fmt: fix switch body indent
fd13a7578 zig fmt: allow same line struct literal with no trailing comma
122a74724 zig fmt: use simple newlines rather than empty comments to hint
4274c3185 Removed memberName/Count/Type builtins
cb2ffad24 Removed builtin tagName function
6199a296b Removed builtin ArgType
a4e516739 Added std.meta to CMakeLists
d06a567b0 Merge branch 'std-meta' of github.com:/zig-lang/zig into std-meta
cbf84cd4a Added a lot of convenience functions to std.meta
3fed10883 zig fmt: array literals with no trailing comma all on one line
afdfbc036 zig fmt: delete empty comments that do nothing
b184ae5ca run zig fmt on some of the codebase
118d41ef8 zig fmt: support array literal row size hint
349365d9a zig fmt: better multiline string formatting
cabf7fa93 zig fmt: fn calls with trailing comma with params on new lines
b8d4e0536 zig fmt: handle empty block with comment inside
7e900d28b zig fmt: no space on switch range operator
0bef1f982 zig fmt: fix rendering of struct with no trailing comma on last field
0ab888c63 zig fmt: parse extra comma in asm expressions
85ca611af zig fmt: put nested struct inits on newlines
7fa97b752 add strict float mode to some math functions
8efb3f5e1 update to latest LLVM API
1f96a8667 Merge remote-tracking branch 'origin/master' into llvm7
c029f4bfc trailing comma after var args is not supported
4405897cb zig fmt: support trailing comma on switch case items
97523cc0c Added a workaround for tagName on unions
ee0af3be4 Ran zig fmt on std.meta
74d80d64a max/minValue does the same as compiler for ints
70ddb8fdd Added std.meta.max/minValue
84a1fdf6b Added std.meta.tagName
a630d3e85 zig fmt: fix rendering of align keyword of slice type
56cb7f174 update json_test to be compliant with zig source encoding
3f302f841 handle more cases of inserting trailing commas
000c01a36 zig fmt: handle missing trailing comma in array literals
08f95d0c2 enum fields with a type are not supported
dfc3e1174 zig fmt: fix handling of comments at top of file
ca49b6f6b struct fields with no explicit type are not supported
e6afea99a zig fmt: support aligned ptr with bit fields
b74dda34b std.zig.tokenizer: support hex escape in char literals
43085417b update github.com/zig-lang to github.com/ziglang
af7073b77 Merge branch 'BraedonWooding-patch-3'
fa5b0ef54 doc fixups
938d791b2 Added argtype and error inferring info
54e887ed9 std.zig.tokenizer: fix tokenization of hex floats
b132a17a7 std.zig.parse ignores comments
4f4afe186 Make JsonParser public
698c52e79 Make StreamingJsonParser public
bfbe26734 zig fmt: add pointer deref syntax
83a780947 Merge pull request #1019 from zig-lang/pointer-reform
c38b165db all tests passing with postfix deref syntax
99fc2bd4d Merge remote-tracking branch 'origin/master' into pointer-reform
b73307bef more std lib to postfix deref with zig fmt
28deea385 Merge branch 'master' into zig-fmt-pointer-reform
942d38483 fix std.SegmentedList.Iterator.set
f9110f9fa Merge branch 'master' into zig-fmt-pointer-reform
b48d35460 zig fmt: fix comment after if before another if
7581cc9be Merge branch 'master' into zig-fmt-pointer-reform
37c6afa5b zig fmt: line comment between if block and else keyword
9ea0e4ca6 zig fmt: same line comments after tokens in expression
967bad43a OpenBSD has the same C integer sizes as Linux
4a3d68955 std.fmt: use SI prefixes for printing bytes
288fc3a8d convert more std lib files to postfix pointer deref
251c40d35 Merge branch 'master' into zig-fmt-pointer-reform
ee5f9ffad zig fmt: add comma on last switch prong
5cfabdd49 Merge remote-tracking branch 'origin/master' into pointer-reform
dacd9c003 Merge remote-tracking branch 'origin/master' into zig-fmt-pointer-reform
492a214d4 std.fmt.format: support {B} for human readable bytes
3625df25d build: add flag to LLD to fix gcc 8 build (#1013
74b10c08d fix @typeInfo not setting a field to comptime
04bca58a3 zig fmt: preserve same line doc comments on var decls
abcd41845 std.zig.parse cleanup
269c0a52a Merge branch 'master' into zig-fmt-pointer-reform
86a352c45 Merge branch 'master' into pointer-reform
05ecb49ba README: https links
4c3aa09f2 self hosted compiler: remove unused flag
548ddd1f0 fix AST dumping code in self hosted compiler
7cdc9d98c refactor std.zig.render to be recursive
911cbf57c recursive render top level decl
a6ae45145 add @newStackCall builtin function
4277762b7 fix windows build system
277b9cf87 fix comptime code modification of global const
8c1872543 Merge pull request #1 from zig-lang/master
6e821078f update std.Buffer API
284ab109c Merge remote-tracking branch 'origin/master' into llvm7
efa39c534 Fix bigint shift-right partial shift
c3ddf5069 zig fmt: fix not writing results
4787127cf partial conversion to post-fix pointer deref using zig fmt
d99de5e31 zig fmt: fix not writing results
6928badd8 Merge branch 'master' into pointer-reform
ef470f25c Merge branch 'master' into zig-fmt-pointer-reform
4438c5e09 Merge branch 'rework-parser'
bbae6267f fix self hosted compiler
774b6ffe1 fix parser performance regression
403e5239e all tests passing again
bf21747a4 translate-c: fix typedef duplicate definition of variable
116914ab3 Merge pull request #1000 from zig-lang/slice-type-info
2a74aa206 Freeing ptr_field_name after use
9b29c872c Added Slice as it's own type info in userland
670c9f9b7 add benchmark for measuring parser performance
ca27ce3be std.zig.parser supports same-line comments on any token
0cb65b266 separate std.zig.parse and std.zig.render
69ef6ae0f rework std.zig.parser
dc2335084 add std.SegmentedList.Iterator.prev
3b7aa8089 add std.SegmentedList.Iterator
77a1a216d tagged union field access prioritizes members over enum tags
2f633452b std.SegmentedList: cleaner separation of capacity functions
78ba3b848 Merge pull request #992 from zig-lang/segmented-list
81007d0a4 SegmentedList: fixups from review comments
7fdbaeca7 zig fmt: same-line comment after non-block if expression
41e1cd185 std.SegmentedList implementation
d7b029995 Fix bigint multi-limb shift and masks
4d6d2f1cd zig fmt: same-line comment after non-block if expression
87c0060e8 Made container methods that can be const, const
0fc8885a8 zig fmt: switch with empty body
eef21df94 zig fmt: same-line comment on comptime expression
8721eb68f zig fmt: fix tokenization of float literal with exponent
7e37d268c Merge remote-tracking branch 'origin/master' into llvm7
ef3111be2 Use allocator backed array for json value decoder
f17472635 Fix review comments for json decoder
0afc6a988 Add json decoder
33fa87a9d Merge pull request #981 from BraedonWooding/ArrayIteratorUnifiedSyntax
b9e320dd5 Merge pull request #951 from alexnask/reflect_reify
aa2586de1 Fixed extern enums having the wrong size (#970
7337029ce Merge pull request #979 from zig-lang/test-release-small
e907c5cab Unified API
adbb691f4 fix behavior tests for ReleaseSmall
6fd14f23b add ReleaseSmall mode in zig tests
131c133bb Fixed inlining determination test (#972
02c1b9df3 fix compiler-rt tests accidentally running std tests
c186cd187 std.atomic - use AtomicOrder.SeqCst for everything
6f002e724 Merge pull request #975 from zig-lang/none-pure-enums
1a9403f38 Added better support for none pure enums in tranlate C
86a428a4a windows threading: add missing call to CloseHandle
6309121f7 translate-c: update to llvm7
1090b289e Merge remote-tracking branch 'origin/master' into llvm7
849ea61fa Small fix.
57940837e Added typeInfo to langref built_ins
7d239414f Fixed type info test, added documentation.
1b6e97355 Added type info tests to behavior test listing
255c0ef40 Resolved merge conflict.
e1535ee0a Added typeInfo tests
ff1c4e1f1 Added tests.
ac4d55dec behavior tests passing with new pointer deref syntax
3239e190c Merge branch 'master' into zig-fmt-pointer-reform
3a8dc4e90 zig fmt: line comments in struct initializer
a35b366eb [breaking] delete ptr deref prefix op
037853a18 Merge branch 'master' into zig-fmt-pointer-reform
7c822869f zig fmt: only some docs have doc comments
61a726c29 zig fmt: comments in field decls
4cc1008c2 zig fmt: error set decls
d8222dea4 Merge branch 'master' into zig-fmt-pointer-reform
3e61c45f8 zig fmt: consistent spacing for container inits
743706419 Merge branch 'master' into zig-fmt-pointer-reform
eed49a210 zig fmt: aggregate type init with only 1 field
8f6f46f35 Merge branch 'master' into zig-fmt-pointer-reform
1d06915f2 zig fmt: support union(enum(tag)) and enum init values
4e7c24eaa Merge branch 'master' into zig-fmt-pointer-reform
7dc8d433a zig fmt: support labeled suspend
6e7d5ac29 Merge branch 'master' into zig-fmt-pointer-reform
37d3ef283 zig fmt: support promise->T
6af431145 Merge branch 'master' into zig-fmt-pointer-reform
47680cc0d zig fmt: better multiline string handling
a02ba6101 fix derefs
76ab1d2b6 support foo.* for ptr deref
e14db2366 run zig fmt on std/os/index.zig
54987c3d8 4 is line comment, std.zig.tokenizer: 3 slashes is doc comment
0bf7ebcfe std.zig.tokenizer: fix handling of line comment / doc comment
fd2cd38bd zig fmt: support line comments and doc comments
39befc35a update comment in std/os/index.zig
4e23fb7f0 zig fmt: comments before error set decl
f04015c08 zig fmt: comments before switch prong
a912c7d75 zig fmt: same-line comment after switch prong
c53209a8a zig fmt: comments before var decl in struct
3235eb03f zig fmt: preserve same line comment after struct field
3fa0bed98 zig fmt: array literal with 1 item on 1 line
9543c0a7c use explicit error sets for utf8Decode functions
c03b9010d zig fmt: preserve same-line comment after statement
2387292f2 move some checks around in utf8Encode logic to be more zig idiomatic
8c567d84f Merge pull request #954 from BraedonWooding/patch-2
ad4ee47d9 zig fmt: preserve comments before global variables
a0e9f1e0c fix bootstrap_lib for windows, take 2
5e5eceb0d fix bootstrap_lib for windows
b7095912c zig fmt: respect comments before statements
f37e79e72 Merge pull request #963 from zig-lang/atomic-stack-and-queue
013f54820 Finished FnDef TypeInfo generation (warning: may be buggy).
66aa760f8 More FnDef TypeInfo generation.
c76b0a845 fix std threads for linux
b21bcbd77 fix std threads for macos
6376d9682 support kernel threads for windows
bf8e419d2 linux uses pthreads when linking against libc
abf90eaa6 enable atomic queue and stack tests for macos
a42542099 make pthreads threads work on darwin
998e25a01 pthread support working
a344cb03b *WIP* use pthreads when linking libc
0bb054e5e Merge pull request #930 from zig-lang/float-printing
ec2a81a08 fix compiler-rt ABI for x86_64 windows
a10351b43 disable atomic stack and queue tests for non-linux
5d6e44b3f add tests for std.atomic Queue and Stack
96ecb4025 add fuzz tests for std.atomic.Stack
4ac36d094 add std.atomic.Stack and std.atomic.Queue
73bf897b5 Using allocate instead of allocate_nonzero so we don't have to memset
d6f033b42 Fixed build error
837166319 Trying to fix osx build failing by setting param_info.type to nullptr
af73462da Started work on function definition TypeInfo generation.
341f8c1e8 Fixed wrong formatting for arg_index when reporting @ArgType error
9ba400673 Generating TypeInfo's now forces definitions to be resolved.
fba0347ec .ReturnType and @ArgType now emits errors on unresolved types related: #846
2fc34eaa5 Functions with infered error set can now return literals fixes #852
61b018059 Added definition TypeInfo generation, except for function definitions.
317852833 Removed zero sized error set optimization fixes #762 fixes #818
ea2596280 Added BoundFn TypeInfo generation.
8f703f919 Added Fn TypeInfo generation.
a2dadbc20 Added struct TypeInfo generation.
9041d0d37 Fixed enum tag type detection in TypeInfo generation.
884e32d5c Added ErrorUnion, Union TypeInfo generation
4d0b660f4 translate-c: add missing decl type from LLVM 7
fbbbee6b7 Switched to shallow TypeInfo.
bbfff4614 Merge remote-tracking branch 'origin/master' into llvm7
4aa5d87ad Added ErrorSet TypeInfo generation.
f5977f68e Added Enum TypeInfo except for methods
7a91e4736 Reset parent on cached TypeInfo values if we need to.
bb56360bf Added TypeInfo cache
dd88d7ded Cleanup
bc160821d Changed TypeInfo layout.
2606993cb Fixed ir_type_info_struct_set_parent for struct parents.
d68aea4f3 Added checks for field name/index mapping in TypeInfo generation. Abstracted the parent setting out.
07af6559d Changed to use shifting and masking
f6cbe9a9c Utf8 Encode
7270f35c9 Merge remote-tracking branch 'origin/master' into float-printing
27cbb4499 Merge pull request #949 from zig-lang/complex-math
84391af7b convert NOTE to TODO so we catch it later
1d998d5dc clean up complex math tests
13076d5f2 std.mem: add more slice manipulation functions
778b931bf Fixed comptime union void field access
182a9fad2 Added ArrayInfo, NullableInfo, PromiseInfo generation
09d7033d1 PointerInfo child is known at comptime
2d8553c85 Fixed PointerInfo generation
189e8e97b PointerInfo child is a pointer to a TypeInfo union, still not working correctly
0e5fb035e Added (broken) pointer info, float info
e9309d3b1 Fixed IntInfo generation.
ec2a3ed50 Attempt at adding comptime union field access
0501e066b crypto throughput test now uses os.time module
fb88f5a0d @typeInfo with void payloads now works!
d5e99cc05 Add initial complex-number support
7eab62325 One step towards @typeInfo
15bf0c154 fix interaction between defer and labeled break
89a4c373d fix bigint twos complement implementation
e5175d432 Fix release float printing errors
d8ba1bc12 Improve fmt float-printing
8503eff8c add compile error for invalid deref on switch target
75328e320 exit(1) instead of abort() for file not found
25dff91fa fix windows build broken by previous commit
1c41f1ca6 better error reporting for missing libc on windows
371a3ad4b Merge branch 'tgschultz-std.os.time'
7af6ed3f2 add alignment docs
21767144f linux: support VDSO for clock_gettime
da2af9c61 fixups
0dcadc61b Merge branch 'std.os.time' of https://github.com/tgschultz/zig into tgschultz-std.os.time
98b88bb52 add alignment docs
301066839 Merge pull request #939 from tgschultz/large-alignment-directalloc
a3e9ae8f7 travis: use encrypted env vars for s3 credentials
a1083b019 Added DirectAllocator support for alignments > os.page_size on posix systems
c4840d78f add test case for #936
1098545e4 std.zig.parser: remove unused field
eef4bbb65 Changed all MB to MiB
b229aff34 Readability improvements and bug-fix to std/crypto/throughput_test.zig
6e57243a7 zig fmt: preserve comments in front of test blocks
cc35f085c Merge pull request #934 from zig-lang/adding-builtin-field
ca4053ba4 Use std.os.errorUnexpectedPosix if timer initialization encounters unexpected error
72bf9d90c Added builtin field to docs
1b91478bf Optimized field ptr ir for hot path and fix assignment bug
6b4f6ebd8 Added field builtin function
89eade054 Style cleanups, Timer.start returns error instead of unreachable on unexpected errno., u64 casts
06909ceaa support break in suspend blocks
3c9b6f8cd Fixed another incorrect comment
fdebe38fa Added notes regarding CLOCK_MONOTONIC_RAW and made it easy to change our mind in the future. Updated std.os imported tests' block with lazy declaration workaround and added time.zig. Corrected some incorrect comments.
5c83d271a Fixed incorrect sign on epoch.clr
7cfe328a1 fixed typos.
ca4341f7b add --no-rosegment cli option
bf9cf2832 Fixed compiler errors around darwin code.
8b66dd8c7 Added unstaged changes.
c90f936ee Added timestamp, high-perf. timer functions.
f1f998e07 improve cmpxchg
96ebd8b23 --kernel32-lib-dir, fix windows not respecting --msvc-lib-dir
c7cb5c31e Add exp/norm distributed random float generation
caefaf781 std.debug: dumpStackTrace & friends use DirectAllocator
88724217d Merge pull request #925 from alexnask/release_small
1bc140964 Added ReleaseSmall mode to docgen
6492763be Fixed test build code
1c85050da Set SizeLevel to 2 in ReleaseSmall mode
253ecd5c1 Added ReleaseSmall mode
b9360640c add @atomicLoad builtin
859b10d8b std.math.ln and std.math.exp use float strict mode
a8d794215 exit with error code instead of panic for file not found
b5459eb98 add @sqrt built-in function
4a2bfec15 fix linux implementation of self exe path
b7af9edb8 add std.os.createThread
06614b3fa Merge branch 'master' into zen_stdlib
d2c672ab0 FIXME note
fa05cab01 travis: put cache-control header for ziglang.org/download
0509414df fix regression with zig install dir
4662fd4d9 Merge pull request #919 from zig-lang/self-hosted-parser-refactor
30c5f3c44 Merge pull request #915 from zig-lang/self-hosted-cli
1999f0daa fix undefined behavior triggered by fn inline test
fe9489ad6 Fix windows access check
03bec631b Replace File.exists with File.access
a498993fd Merged with master
44c53c997 std.zig.parser: Refactor round 2 * More work on ensuring that each state only eat one token * VarDecl parsing now constructs its node * Handling all fn parsing in the same case * Using eatToken instead of getNextToken where possible * All tokenIdTo* now takes @TagType(Token.Id) * Added a createToCtxLiteral function
b946982e9 Use builtin Arch/Os/Environ
7fe1c7c04 Remove cc command
c5f088e52 Pass up to 5 arguments in Zen IPC
0f652b4d8 zig fmt: switch cases on new lines
9e701e951 zig fmt includes trailing commas
d4572d114 zig fmt: container init fields each on own line
373b3586a inline functions must be stored in const or comptime var
fad54e62b std.zig.ast: Fixed build failures
d35a6655e or null if comma was found. * State should now be appended outside the function, std.zig.parser: Refactored `commaOrEnd` to `expectCommaOrEnd` * Now it returns end when found
29e0e4088 Merge remote-tracking branch 'origin/master' into self-hosted-cli
7b2cb7e67 remove --zig-install-prefix arg now that we find std at runtime
c43f77f10 fix invalid implicit cast on macos
206c0b8bd because of comments * The C++ compiler allows comments between all tokens * We therefor have to consume comment tokens between each state * Reordered states so they are grouped in some logical fasion, but is still a small footgun * Trying to avoid consuming more than one token per state * This is required, instead of reverting states * OptionalCtx is a lot less hacky, round 1: * Removed the Optional state * We now have an OptionalCtx instead of DestPtr * OptionalCtx simulated return, std.zig.parser: Refactor
803f0a295 Revise self-hosted command line interface
0d8646d26 std.zig.parser now parses alignment of functions Related #909 This allows it to parse `std/special/compiler_rt/index.zig`
70f2bb03f outb syscall
ce68dda4b Merge remote-tracking branch 'origin/master' into llvm7
2b86ffe34 LLD patch: Do not keep shared symbols to garbage...
ed1b02827 Merge branch 'master' of github.com:zig-lang/zig
5b584e06e std.zig.parser special cased error in return. Related #909 This allows parsing of `std/special/build_runner.zig`
e48e707c3 allow integer and float literals to be passed to var params
a7f77d7c6 std.zig.parser: requireSemiColon now matches the C++ behavior Related #909 Allowes parsing of `std/os/child_process.zig`
df4c57552 std.zig.parser now parses inline fn proto Related #909 Allows parsing of `std/os/zen.zig`.
fe7146277 `std/special/compiler_rt/aulldiv.zig` and `std/math/x86_64/sqrt.zig`, std.zig.parser now accept both string and multiline string for strings Related #909 Allows it to parse `std/special/compiler_rt/aullrem.zig`
28ea364e5 std.zig.parser now handle `try`'s precedence correctly This allows parsing of `std/zig/parser.zig`. Related: #909
841ac0f4e std.zig.parser now allows assignment expr in switch cases. This makes `std/os/index.zig` parse related: #909
4b0556ebd std.zig.parser can now parse `std/heap.zig`: related: #909 * Struct fields can now be pub * Parsing of double deref now works * Block expressions now have the right precedence
6fb5ab1b5 std.zig.parser: Redid parsing of error set delc related: #909
5f3ec023c std.zig.parser: Fixed parsing of field access rhs related: #909
281c17f6a as it is not suppose to be used outside createNode, if the id match * Inlined initNode, std.zig.parser: * Renamed eatToken to expectToken * A new eatToken fn, which only eats the token
dae287524 std.zig: Major refactor * There now exists a few function to allocate all nodes in parser.zig * ast.zig now have a table of Ids and their corrisponding type
135a335ce Merge branch 'master' into zen_stdlib
b01c5a95c Update zen library
f43711e5f Merge branch 'bnoordhuis-fix879'
58c6424d4 simplify and fix BufMap logic
19e0ed5d3 Merge branch 'fix879' of https://github.com/bnoordhuis/zig into bnoordhuis-fix879
2ec1cec92 add more linux syscalls and constants
64d96ad70 Merge pull request #873 from zig-lang/self-hosted-parser
405a2390f zig fmt while-else with no blocks
f6c77746d add memmove to builtin.o
27e881c2d fix another undefined deref
b553b7ab8 Merge branch 'master' into self-hosted-parser
ee3e2790a cmake defaults stage1 to install in build directory
0ba85ea6f std.zig.parser fixed segfault when parsing cc for fn decl
477ded904 add missing call in zig fmt to commit results to disk
c6aa63714 std.zig.parser: removed dublicate "zig fmt: coroutines" test
b9cccce26 std.zig.ast: fixed none compiling code
db9a9f3a6 but I think typechecking should catch this, std.zig.parser now parses the `var` type * I parse it as a type in all contexts. This is not how the C++ compiler does it
aa09e7b63 std.zig.tokinizer now treats string identifiers as identifiers
3b80e6650 std.zig.parser now parses toplevel use
db0812d4b std.zig.parser: changed block exprs from primary expr to expr
706e0d739 std.zig.parser readded all tests * Ops!
1b81e406f std.zig: fixed compiler errors
34af38e09 std.zig.tokinizer: fixed failing tests
f85b9f2bf std.zig.parser now parses coroutine code
5cd69ee6a std.zig.parser changed assign expr to only be allowed in some contexts * Only allowed in while continue expr and statement expr
2c7996f40 std.zig.parser can now render asm expressions
4545be360 fix std.io.readline to work on windows
a09bb408a std.zig.parser now parses asm expressions * We cannot render asm expressions yet
aa552633c std.zig.parser now parses fn types
7d32c9521 std.zig.parser now parses comptime
d04346d2a ast.zig.parser now parses defer statements
c19f5a235 std.zig.parser now parses if statements
7dd55a800 std.zig.parser now parses for loops
e24409ebe std.zig.parser unified code for rendering and parsing semicolon in statements
e260c8ca6 std.zig.parser now parses while loops and labeled break and continue
9ef1ba9d5 Merge branch 'async-tcp-server'
e85a10e9f async tcp server proof of concept
cbda0fa78 basic tcp server working when used with netcat
acd8f6ef1 fixups from rebase
8f4ad9577 update what std tests to run
b85ef656c running into the llvm corosplit error again
0d22a00f6 *WIP* async/await TCP server
292d0cbda add docs for union methods
eae355d77 add docs for packed enum
fef06f214 Merge branch 'async-err-ret-traces'
ee1a4f4c1 error return traces work with async return case
9e98ea552 fix calling convention at callsite of zig-generated fns
ada441157 put the error return addresses in the coro frame
e4083b739 codegen: fix not putting llvm allocas together
d26905c10 error return traces for the early return case
e4d0b46c0 it doesn't work :, std.zig.parser WIP generalizing parsing of payloads * Note
bdff5bfa3 std.zig.parser now parses switch
7186e92c8 Merge pull request #900 from zig-lang/hash-and-checksums
820de1716 std.zig.parser now parses labeled blocks. * There is also some code for switch range parsing
c34ce2cbc Add common hash/checksum functions
f667744d4 std.zig.parser Fixed: * Parsing of the optional expression in contrl flow expr * Rendering of catch expressions
e45de607d std.zig.parser: Initializers are now parsed and fmt correctly
873641c12 Merge pull request #899 from bnoordhuis/fix898
898028118 fix llvm assert on version string with git sha
9e8519b7a fix use-after-free in BufMap.set(
588116cac travis: update docker image tag for llvm7
5800faa31 update to latest llvm API
779247ba1 std.zig Major Refactor * parser now parses expression like the C++ compiler does * This makes initializers work * Added control flow expression (only return is parsed) * Added catch parsing (It doesn't quite work) * The parse can now specify states as optional. * The parse will roll back on error if states are optional * This can be overriden by State.Required
cca93908e Merge remote-tracking branch 'origin/master' into llvm7
8938429ea Add Hmac function (#890
744416ce0 std.zig.parser should now parse operators with precedence. * This haven't been tested yet
f68c2e0a1 Fix off-by-one error in all crypto functions
ca0085c46 std.zig.parser now parses error set declarations
020724cfa so relative loc can be optained, std.zig.tokenizer Tokens now don't contain a line and column field. * Instead, this information is optained by asking the tokenizer. * getTokenLocation takes a start_index
09cf82361 std.zig.parser now parses container decls
3d8541121 Merge branch 'hellerve-wip-macos-dirent'
abd389209 fix up logic for macos std.os.deleteTree
e1e536e03 Merge branch 'wip-macos-dirent' of https://github.com/hellerve/zig into hellerve-wip-macos-dirent
6050b9d83 travis: don't skip tests
2676da61a travis: better s3 artifacts
9dfd1a7c8 remove more signal handling stuff from std.os.ChildProcess
d1f8e722b travis: don't upload other files as artifacts
ec611bf8b and extern, std.zig.parser now parses regular enums, unions and struct * Still missing packed
21b47b34d travis: don't upload build/ folder as artifacts
65e4bb149 travis artifacts: don't upload extra stuff
aadc14fd7 upload static linux artifacts on successful travis build
d602f12df std.zig.ast Added ContainerDecl
4fae45268 std.zig.parser Refactored top level decl parsing * Now, the arraylist from the root node is passed through the states. * This allows us to reuse the code for enums, unions and structs
40f35e997 std.zig.parser moved container initializer tests down
9d69e94bb as they fail in ways I can't fix yet, std.zig.parser now parses grouped expressions * I also moved some tests down
5c82ed2ea if it worked, it would, std.zig.parser now parses initializers... Or
0b9247fb6 std.zig.parser Refactor: * Slice/Array access is now not parsed in the expr contruction loop * State.ExprListItemOrEnd now takes a token id for the end token
b424cd75a slice and array access to be suffix op, std.zig.parser refactored call
22e38ffb5 std.zig.tokenizer fixed tokens having wrong column and line
a2330d0ea std.zig.parser now parses slice and array types
4eb68987d std.io.readLine function
b9093185f std.zig.parser now parses slicing and array access
2e5115b06 Add run compiler command
df09c01f7 std.zig.parser now parses error, this and unreachable
67f11190d musl-friendly dynamic linking
aabf7cf57 std.zig.parser now parses null and bool literals
975dc5a39 std.zig.parser now parses char literals
4d8f9e229 std.zig.parser now parses multi line strings
eb6ff796c Fix undeclared identifier error in readUntilDelimiterBuffer and incorrect number of parameters in readUntilDelimiterAlloc (#877
51a6ff18d Merge pull request #872 from zig-lang/runtime-libc
4793c3397 std.zig.parser now handles lib name for extern var and fn
8f962a957 fix regressions on windows
cda350935 Added test cases to cover all of zigs syntax
26e56f2fa Each test now have it's own test name
596f4b600 Fixed review commented code
7d66908f2 docs: fix unclosed code tag
c3724ec50 implement os_self_exe_path in the c++ compiler for darwin
5118caf5a Added a lot of test cases
5d5feb11d appveyor and travis ci: stop passing unused configure args
b01c50d6f find libc and zig std lib at runtime
24071c680 std.zig.parser parses all prefix operators
1dfa927a6 std.zig.parser now treats call expr as a suffix operator
f586acabd add ZIG_STATIC cmake option
edca17399 std.zig.parser now parses call expr
8ada03097 Fixed self hosted compiler compiler error from prev commit
530f79576 std.zig.parser now supports all infix operators
b80398b35 Merge pull request #867 from zig-lang/rand-overhaul
ccadcbc71 fix examples and rename std.rand.Rand to std.rand.Random
0fd0f6fd1 Rewrite Rand functions
9df2a6a50 std.zig.parser can now parse top level test declarations
7e951e504 st/os: address @andrewrk concerns
032fccf61 fix compile time array concatenation for slices
5627347ba Merge pull request #865 from bnoordhuis/zig-build-stage2
72ce14629 Fixed looking for windows sdk when targeting linux
b60b01ce9 skeleton stage 2 support for 'zig build'
db70b909a non-zero exit when build.zig cannot be created
f5b43ada4 std/os: getting dir entries works on OS X
5b00dee0c std.math.cast handles signed integers
6cb99fdac fix crash when compile error in analyzing @panic call
0b7b3190f fix bitrotted code in unexpected error tracing
c0a69a507 Merge pull request #860 from jayschwa/patch-1
3e836f551 doc: fix typo and tighten wording in error sections
aa2995ee3 fix invalid codegen for error return traces across suspend points
a43c7af3d add comptime test for the type of suspend promise
897e78376 add promise->T syntax parsing
18af2f9a2 fix async fns with inferred error sets
b1c07c0ea move error ret tracing codegen to zig ir
2cff31937 std.os.linux exposes syscall functions and syscall numbers
7350181a4 Fix os.File.mode function
3d1732ef6 Fix OpqaueType usage in exported c functions
c541ac240 use the llvm API for creating memcpy and memset instructions
fe38d8142 create multiple llvm.memcpy and llvm.memset with different align params
7a99d63c7 ability to use async function pointers
62668e3e6 update to llvm 7.0.0
53588f4f1 Add missing pub specifier to atan2
f885a1ab6 change async function call syntax
66fec3a3d Merge pull request #851 from zig-lang/zen_stdlib
43cdfa275 Zen specific hacks
1369feccc Merge pull request #847 from walac/master
543952eb8 Include libxml2 and zlib as required libraries
cb744f3a2 self-hosted build: print helpful message when libstdc++.a not found
71b4ee931 Merge pull request #849 from zig-lang/zen_stdlib
0082ed0ef Public SplitIterator
e966d375f Merge pull request #844 from ice1000/patch-1
c4544df01 Remove unnecessary rule and re-fix an old bug
935f10502 Message type, Undefined mailbox, more constructors, read syscall
d959faa4c add test for addIncludeDir for test step
bea9e9c7f Add addIncludeDir to TestStep + fix build template
bbad0fa41 Merge pull request #839 from ice1000/patch-1
453439a96 Merge pull request #840 from bnoordhuis/libdirs
c2c34c09b add LLVM_LIBDIRS to link directories
4a921b2eb add CLANG_LIBDIRS cmake build variable
cc6ac7791 Fix some explicit errors
df3d2115b Service -> Server
81941f916 Add Thread option for Mailboxes
ce8803471 Merge branch 'master' into zen_stdlib
4c16deed3 Some POSIX stuff, including a primitive write
f073923ea Release 0.2.0
681c62941 subscribeIRQ support
9b7e4b535 More precise naming
52ef1aadc Merge branch 'master' into zen_stdlib
4fcf01adc IPC structure updates
50e25f6ce add missing docs for setAlignStack builtin
efebb6d34 fix tests broken by previous commit
c828c23f7 Tests for zero-bit field compiler error
7ac44037d Compiler error when taking @offsetOf of void struct member closes #739
2a6ad23b5 Merge branch 'master' of https://github.com/zig-lang/zig
7f7823e23 fix casting a function to a pointer causing compiler crash
2cdd50c9b Panic instead of segfault when returning generic type from functions closes #829
d6e84e325 Add WebAssembly output workaround for LLVM 6
bcce77700 some return types disqualify comptime fn call caching
5834ff0cc don't memoize comptime fn calls that access comptime mutable state
1bf2810f3 fix comptime slicing not preserving comptime mutability
49c392203 fix incorrect setEvalBranchQuota compile error
c18059a3d Merge branch 'master' of https://github.com/zig-lang/zig
d0621391b zen-specific: main -> _start
5bc4f1e3f xml2 workaround is relevant for linux too
10fb1f273 Merge branch 'test-ci'
152b40893 Simplify intrusive linked list test
e4fd3fd52 workaround for llvm-config missing xml2
6288ad865 change 5 to 6 in travis osx scripts
84e952c23 fix await multithreaded data race
3b3649b86 refactor stack trace code to remove global state
60b203183 improvements to stack traces
20011a7a1 add behavior test for coroutine frame allocation failure
61a02d9d1 omit pad zeroes in debug stack traces
f25c1c685 Fixed syntax errors in linux-i386 syscalls
70c3008a0 Added 6 parameters syscalls for zen
7a893691c Unroll Sha3 inner loop
5a7a0e851 update to SoftFloat-3e
6db9be890 don't memoize comptime functions if they can mutate state via parameters
aaf2230ae fix partial inlining of binary math operator using old value
028ec0f2c enums with 1 field and explicit tag type still get the tag type
aa9902b58 translate-c: add missing case labels
2db28ea84 travis ci: update ubuntu llvm repo and CC,CXX env vars to 6
3200ebc2e Merge branch 'llvm6'
b57cb04af Merge remote-tracking branch 'origin/master' into llvm6
2e010c60a Translate C now correctly converts ints, floats, ptrs and enums to bools * Boolean "and" and "or" should also work with these types. * This new method also simplifies to output code.
b2887620f Translate C will now handle ignored return values
689e241ff Merge branch 'master' of github.com:zig-lang/zig
51b2f1b80 Translate C can now translate switch statements again
790aaeaca add compile error for using @tagName on extern union
bb80daf50 Ast Render no longer outputs erroneous semicolon closes #813
d96dd5bc3 fix missing compile error for returning error from void async function
6b5cfd9d9 turn assertion into compile error for using var as return type
eff3530df it is syntax, var is no longer a pseudo-type
44ae891bd fix assertion when taking slice of zero-length array
cc0f660ad assume soft floating point, unless hf is specified in target environ
5d5820029 fix broken tests from previous commit
07e47c058 ptrCast builtin now gives an error for removing const qualifier
46e258c9f Merge pull request #815 from Hejsil/more-translate-c
c3807dfb3 remove value judgement from std lib API docs
1d378d8f2 Removed fixed todo
5ab25798e We now also use trans_to_bool_expr on bool not
bf47cf418 expr to bool is now it's own function. * Now while and for loops work on ints and floats, like if statements * This fixes the loop problem in #813
61ecc4867 Added appropriate TODO comment to UO_LNot
ed1386eef Simple translation of UO_LNot
d34d36619 Merge pull request #814 from jacobdufault/utf8-view
8fd7e9115 Make Utf8View public, add comments, and make iterator lowercase.
c787837ce Clarify what is meant by 'libraries' (#808
db18d38a4 Fix Linux gcc requirement (#807
73a306e2f fix conflict artifact accidentally in appveyor script
7ee1b8804 add llvm 6.0.0 binaries to appveyor cache
1c244d34b Merge branch 'master' into llvm6
56645c170 std.debug.dwarf supports line number version 4
101b7745c add optnone noinline to async functions
a217c764d Merge remote-tracking branch 'origin/master' into llvm6
7d494b3e7 Merge branch 'async'
de5c0c9f4 Merge remote-tracking branch 'origin/master' into async
6bade0b82 coroutines: add await early test case
8a0e1d4c0 await keyword works
a7c87ae1e fix not casting result of llvm.coro.promise
253d988e7 implementation of await
834e992a7 add test for coroutine suspend with block
8429d4cea implement coroutine resume
c62276615 async function fulfills promise atomically
807a5e94e add atomicrmw builtin function
36eadb569 run coroutine tests only in Debug mode
58dc2b719 better coroutine codegen, now passing first coro test
ad2a29ccf break the data dependencies that llvm coro transforms cant handle
026aebf2e another workaround for llvm coroutines
6568be575 Merge branch 'bnoordhuis-fix795'
556f22a75 different way of fixing previous commit
1b8a241f6 Merge branch 'fix795' of https://github.com/bnoordhuis/zig into bnoordhuis-fix795
0f449a3ec Merge pull request #796 from bnoordhuis/fix731-more
90598b463 fix assert on self-referencing function ptr field
d24345386 Revert "llvm coroutine workaround: sret functions return sret pointer"
138d6f909 revert workaround for alloc and free as coro params
132e604aa llvm coroutine workaround: sret functions return sret pointer
6e2a67724 Revert "another llvm workaround for getelementptr"
c2f5634fb another llvm workaround for getelementptr
439621e44 remove signal hanlding stuff from std.os.ChildProcess
4e43bde92 workaround for llvm: delete coroutine allocation elision
4ac6c4d6b workaround llvm coro transformations
9aa65c0e8 allow implicit cast from &const to ?&const &const
1eecfdaa9 Merge pull request #785 from bnoordhuis/fix731
3e86fb500 implement coroutine suspend
c60496a29 parse await and suspend syntax
6fef7406c move coroutine init code to after coro.begin
6b436146a fix invalid memory write in coroutines implementation
6cbea99ed async functions are allowed to accept zig types
b018c64ca add coroutine LLVM passes
fe354ebb5 coroutines: fix llvm error of instruction not dominating uses
704a8acb5 fix handle_is_ptr for promise type
83f890644 codegen for coro_resume instruction
4eac75914 codegen for coro_free instruction
d2d2ba10e codegen for coro_end instruction
0cf327eb1 codegen for coro_suspend instruction
d0f2eca10 codegen for coro_begin instruction
79f1ff574 codegen for coro_alloc_fail instruction
bced3fb64 codegen for get_implicit_allocator instruction
93cbd4eeb codegen for coro_alloc and coro_size instructions
9f6c5a20d codegen for coro_id instruction
7567448b9 codegen for cancel
05bf666eb codegen for calling an async function
08d595b47 Add utf8 string view
8db7a1420 update errors section of docs
4955c4b8f update C headers to clang 6.0.0rc3
1ba6e1641 LLD patch: workaround for buggy MACH-O code
a33b689f2 update embedded LLD to 6.0.0rc3
9cfd7dea1 Merge remote-tracking branch 'origin/master' into llvm6
78bc62fd3 Revert "workaround on windows for llvm6 missing advapi32.lib in llvm-config"
40dbcd09d fix type_is_codegen_pointer being used incorrectly
f11b94801 allow implicit cast from `S` to `?&const S`
99985ad6f implement Zig IR for async functions
b66547e98 Merge pull request #783 from bnoordhuis/fix675
0845cbe27 name types inside functions after variable
ca1b77b2d IR analysis for coro.begin
88e7b9bf8 ir analysis for coro_id and coro_alloc
37c07d4f3 coroutines: analyze get_implicit_allocator instruction
b261da067 add coroutine startup IR to async functions
884b5fb4c Merge branch 'bnoordhuis-macho'
623466762 clean up mach-o stack trace code
236bbe118 implement IR analysis for async function calls
65a51b401 add promise type
a06f3c74f parse async fn definitions
3d58d7232 parse async fn calls and cancel expressions
af10b0fec add async, await, cancel keywords, resume, suspend
2b35615ff fix memory leak in std.debug.openSelfDebugInfo(
ab48934e9 add support for stack traces on macosx
bde15cf08 improve std lib linux epoll API
72ca2b214 ability to slice an undefined pointer at compile time if the len is 0
cbbd6cfa1 add an assert to catch #777
5f5880979 zig fmt supports simple line comments
cc26148ba fix compiler crash when struct contains...
1c1c0691c fix crash when doing comptime float rem comptime int
ca597e2bf std.zig.parser understands try. zig fmt respects a double line break.
9fa35adbd fix sometimes not type checking function parameters
629f134d3 std.zig.parser understands inferred return type and error inference
e8d81c5ac fix build broken by previous commit
d790670f4 self hosted parser: support string literals
1a53c648e self hosted parser supports builtin fn call with no args
e7ab2bc55 Merge remote-tracking branch 'origin/master' into llvm6
c721354b7 correct doc comment in self hosted parser
02f70cda8 zig_llvm.cpp uses new(std::nothrow
2dcff95bd self hosted: add tokenizer test fix eof handling
dfbb8254c fix self hosted tokenizer handling of EOF
7903a758a Merge remote-tracking branch 'origin/master' into llvm6
b4e44c4e8 self hosted parser tests every combination of memory allocation failure
eaac218d5 workaround on windows for llvm6 missing advapi32.lib in llvm-config
491d818f1 Merge remote-tracking branch 'origin/master' into llvm6
ec0846a00 std.heap.ArenaAllocator: fix incorrectly activating safety check
227ead54b back to malloc instead of aligned_alloc for c_allocator
4a4ea92cf remove std.heap.IncrementingAllocator
445b03384 introduce std.heap.ArenaAllocator and std.heap.DirectAllocator
ef6260b3a Merge remote-tracking branch 'origin/master' into llvm6
f2d601661 fix exported variable not named in the object file
e743b30bb std: refactor posixOpen to be friendlier to error return traces
46aa416c4 std.os and std.io API update
8c31eaf2a std zig tokenizer: don't require 3 newlines at the end of the source
a2bd9f891 std lib: modify allocator idiom
e7bf8f3f0 fix compiler crash switching on global error with no else
1fb308cee self hosted compiler: move tokenization and parsing to std lib
3919afcad fix crash with error peer type resolution
2c697e50d appveyor: don't try to build for mingw
591196284 Merge pull request #759 from zig-lang/error-sets
8e554561d appveyor: answer Yes to all pacman questions
32c988a2d fix build runner on windows
916d24cd2 add compile error tests for error sets
4b16874f0 add test for comptime err to int with only 1 member of set
ee982ae16 syntax: parse `?error!i32` as `?(error!i32)`
0efe441df if statements support comptime known test error, runtime payload
54c06bf71 error sets: runtime safety for int-to-err and err set cast
8fc6e3156 std: fix return type of std.c.write
f9be97037 Merge remote-tracking branch 'origin/master' into error-sets
57edd4dcb error sets - fix bad value for constant error literal
1c236b076 Add ArrayList functions (#755
fee875770 error set casting building
76239f208 error sets - update langref. all tests passing
0d5ff6f46 error sets - most tests passing
68238d567 fix comptime fn execution not returning error unions properly
dd20f558f implement openSelfExe() on darwin (#753
c88e6e8ae improve behavior of `zig build` (#754
5d9e3cb77 LLD patch: workaround for buggy MACH-O code
38aed5af8 update embedded LLD to 6.0.0rc2
aa043a633 Merge remote-tracking branch 'origin/master' into llvm6
79ad1d961 format struct pointers as "<typename>@<address>" (#752
0090c2d70 DRY 'is slice?' conditionals in parser (#750
f99b8b006 error sets - fix most std lib compile errors
6940212ec error sets: fix peer resolution of error unions
917e6fe37 handle linux returning EINVAL for large writes
40e4e42a6 handle linux returning EINVAL for large reads
44d8d654a add new compile error, fix test failure, organize code
ec59f7652 Merge pull request #743 from bnoordhuis/linux-random
b7bc25909 make OutStream and InStream take an error set param
893f1088d error sets - peer resolution for error unions
15075d2c3 error sets - compile error for equality with no common errors
31abef172 fix accidentally linking against kernel32 on non windows
21ce559c9 add --forbid-library
73ee434c8 Use /dev/urandom and sysctl(RANDOM_UUID) on Linux.
61718742f *WIP* error sets - std lib test compile but try to link against windows
ef5e7bb46 *WIP* error sets - an inferred error set can end up being the global one
abf5ae689 *WIP* error sets - support fns called at comptime
b8f59e14c *WIP* error sets - correctly resolve inferred error sets
39d5f4486 *WI* error sets - basic support working
cfb2c6769 *WIP* error sets - rewrite "const cast only" function
15eb28efa Merge pull request #738 from corngood/cygwin-fixes
4ec856b0f make lld include paths private
406496ca3 *WIP* error sets - allow peer type resolution to create new error set
13b36d458 *WIP* error sets - fix implicit cast
5f518dbeb *WIP* error sets converting std lib
02b61224b add docs for memberType, memberCount, memberName
e6d4028a8 docs: move source encoding section
3a11757d5 add docs recommending to only have 1 cImport
a795e4ce3 add some docs for reflection
44f38b04b fix assertion fail when using global var number literal
5161d7062 *WIP* error sets
40ca39d3d fix error message mentioning unreachable instead of noreturn
3ef6a00bb add compile error for duplicate struct, enum, union fields
0995a81b8 langref: remove page title header
d6b7d9090 Merge pull request #729 from zig-lang/www-changes
7eea20bc5 Add IntrusiveLinkedList to index.zig
5e9f87c3b Improve documentation styling for mobile devices
1c60f3145 add compile error for calling naked function
96c9a9bdb Merge remote-tracking branch 'origin/master' into llvm6
2b5e0b66a std: fix fn return syntax for zen os
abe6c2d58 allow packed containers in extern functions
f66ac9a5e fix crash when align 1 field before self referential...
ad3e2a5da fix compiler crash on function with invalid return type
47be64af5 Merge remote-tracking branch 'origin/master' into llvm6
f7670882a Merge pull request #720 from zig-lang/require-return-type
3671582c1 syntax: functions require return type. remove `->`
e5bc5873d rename "debug safety" to "runtime safety"
b71a56c9d cleanups that I meant to put in the previous commit
b3a6faf13 replace %defer with errdefer
ad2527d47 clean up readme
c2838f244 fix printf format specifier
b8dcdc75c Merge pull request #716 from zig-lang/export-c-additions
470ec9116 Add array type handling for gen_h
fa7072f3f docgen: verify internal links
cf3981947 add new kind of test: generating .h files. and more
cacba6f43 fix crash on union-enums with only 1 field
b52bffcf8 appveyor: add language reference to build artifacts
5b7ae86af fix crash when switching on enum with 1 field and no switch prongs
517e8ea42 fixes mingw build, remove unused function
ddd04a7b4 fix docgen on windows
ec27d3b4b Merge pull request #711 from zig-lang/fix-build-template
a7e10565f Fix build template to match build runner changes
890bf001d os_rename uses MoveFileEx on windows
9f5c0b6e6 windows-compatible os_rename function
2eede3557 Merge pull request #710 from Hejsil/seekto-getpos-windows
d8469e3c7 then we don't want to compare pos to @maxValue(usize)., usize might be same size as LARGE_INTEGER. If that's the case
a1a69f24c We now make a more correct conversion from windows LARGE_INTEGER type to usize
61497893d Removed bitcast from usize to isize in seekTo
613c4dbf5 temporary workaround for os.deleteTree not implemented for windows/mac
8be606ec8 Now using the right unexpectedError in seekForward
a76023bcd Removed PLARGE_INTEGER
90714a383 Implemented windows versions of seekTo and getPos
21e8ecbaf readme: specify that we need exactly llvm 5.0.1
2c25c8aee docs: remove references to %% prefix operator
ea623f2d3 all doc code examples are now tested
4b64c777e add compile error for shifting by negative comptime integer
0fc645ab7 emit a compile error for @panic called at compile time
0b8f19fcb fix null debug info for 0-length array type
0aae96b5f test: fix brace expansion test not checking invalid inputs
4556f4480 LLD patch: workaround for buggy MACH-O code
4aed7ea6f update embedded LLD to 6.0.0rc1
48cd80818 Merge remote-tracking branch 'origin/master' into llvm6
a4e8e5590 Merge pull request #701 from Hejsil/fix-xor-with-zero
1d6f54cc7 A few more none negative cases, just to be sure we've covered everything
fa2c3be34 More tests, and fixed none negative bigint xor
db0fc32ab fixed xor with zero
2e6125bc6 ziglang.org home page no longer in this repo
7a3fd89d2 Add Sha3 hashing functions
dfd536349 Add throughput test program
7af53d082 Fix crypto exports
1eda7e0fd docgen: support executing exe code examples
5aefabe04 docgen: validate See Also sections
2774fe8a1 docgen auto generates table of contents
4bdfc8a10 fix error return traces pointing to off-by-one source line
24c2ff5ca Revert "Buffer.toSliceCopy"
c58f5a474 Buffer.toSliceCopy
611730a4c update to latest zig. disable failing tests.
c0d31092f update to latest import paradigms
20897dc69 parsing (more like skipping) doctype declarations
bad7d0127 support processing instructions
2576cd091 we don't need to support conditional dtd stuff
45d6d71f0 add failing test for processing instructions
18dc74a53 support cdata
1fdf681b7 fix all tests
0fc412528 more thorough test coverage for strange seem locations. found a bug
45718866a fix copy_content when thre's a '-' in a comment
29d5e6725 fix all tests
a4b5f8719 simplify state machine and allow 0-length partial tokens
26bee142c distinguish between unfinished and continuation
4a2e61260 update chopped input test to copy text content. doesn't work yet.
5948bde39 copy_content() method works for all_at_once usecase
19466d7df test constrained output
877e60a6e bool == bool works now
1a95975cf add support for partial tokens and feeding xml source one byte at a time
80b06cede refactor output token writing
340d8edf2 parse xml comments
6e729f31a parse xml normal text
c83492af4 parse xml attributes
83fa5b64c don't slice the input buffer at all
a0360cb35 parse more types of tags
6f73501f2 starting an xml parser
b897e98d3 Merge remote-tracking branch 'origin/master' into llvm6
ee9ab1567 Merge pull request #695 from Hejsil/tranlate-c-fixes
3974b7d31 translate_c can now translate if statements on integers and floats
f59dcc554 Fixed tests for undefined variables
8b280d5b3 Merge pull request #689 from zig-lang/blake2
821cbd7a1 Output "undefined" on uninitialized variables
73b4f0984 Add crypto internal test functions
66a24c9c0 Merge branch 'master' into blake2
fa7b33549 Change crypto functions to fill a buffer
6a95b88d1 fix bigint remainder division
84d8584c5 implement bigint div and rem
92fc5947f fix compiler crash related to @alignOf
5a4968484 Merge branch 'wip-err-ret-trace'
6ec9933fd fix getting debug info twice in default panic handler
4cf86b4a9 Add Blake2X hash functions
c9ac607bd add builtin.have_error_return_tracing
7b57454cc clean up error return tracing
d973b4088 stack traces are a variable number of frames
f0df2cdde error return traces use a zig-provided function to save binary size
793f031c4 remove 32-bit windows from supported targets list
fa024f809 error return trace pointer prefixes other params
971a6fc53 fix duplicate stack trace code
e7e762563 Merge pull request #687 from zig-lang/sha2
9be9f1ad2 Disable win32 tests for Sha2 + correct lengths
1f3ed5cf2 Change indexing variable types for crypto functions
2659ac01b Add Sha2 functions
4551489b9 typecheck the panic function
a2315cfbf Merge pull request #686 from zig-lang/md5-sha1
51fdbf7f8 Add Md5 and Sha1 hash functions
304f6f1d0 Add integer rotation functions
32ea6f54e *WIP* proof of concept error return traces
7ec783876 functions which can return errors have secret stack trace param
eb3726c50 Merge branch 'master' into llvm6
3268276b5 the same string literal codegens to the same constant
465e75bc5 Merge pull request #682 from zig-lang/fix-endian
899e36489 Fix endian swap parameters
891c93c11 Merge pull request #681 from zig-lang/hw-math
d4f791cf6 Merge pull request #680 from zig-lang/intrusiveLinkedList
24cd99160 Add hw sqrt for x86_64
19343db59 Intrusive linked lists
d1d3dbc7b Merge branch 'master' into llvm6
3c094116a remove %% prefix operator
98a95cc69 createThread for zen, exit
5a8d87f50 Merge branch 'master' into llvm6
598170756 `a catch unreachable` generates unwrap-error code
632d143bf replace `a %% b` with `a catch b`
66717db73 replace `%return` with `try`
de1f57926 Merge branch 'master' of github.com:zig-lang/zig
318285722 Adding zen support
32ba0dcea update hello world docs
e7c04b6df add a test for returning a type that closes over a local const
bb39e503c fix struct inside function referencing local const
ad438cfd4 Merge branch 'master' of github.com:zig-lang/zig
e932919e6 Darwin -> MacOSX, added Zen. See #438
a9d2a7f00 Merge pull request #674 from Hejsil/readInt-calling-fix
e91136d61 Fixed the call to mem.readInt in endian.swap
6f85c860c Fixed the call to mem.readInt in Rand.scalar
38658a597 Merge branch 'master' into llvm6
dde7cc52d fix exp1m implementation
17e68c4a1 disable NewGVN
2200c2de6 translate-c: update to clang 6.0.0 which has more binary operators
5d9a8cbe1 Merge remote-tracking branch 'origin/master' into llvm6
e08a4ea62 Merge branch 'appveyor'
2c35e24bd workaround for microsoft releasing windows SDK with wrong version
79d50d993 appveyor: enable verbose link for self hosted compiler
f377b1e88 Revert "appveyor ci: look for newer windows sdk version"
7f0b12a48 appveyor: skip building self hosted compiler for now
25ad0b47e appveyor: try using vcvarsall
d1ef17e3c appveyor: set VCINSTALLDIR
1b120d1e4 update windows build to llvm 5.0.1
21a552682 Revert "try using appveyor's llvm copy"
35dc987dc try using appveyor's llvm copy
31d632b72 appveyor ci: look for newer windows sdk version
7e65fe7ac fix test regressions on windows from previous commit
d008e209e self-hosted compiler works on macos
e1c03d9e8 self-hosted compiler works on windows
0cd63b28f fix self-hosted build on windows
477e3f64f self-hosted build: use llvm-config from stage1
5c8600d79 add december in review to reading material; fix docs
8eae4a096 Merge branch 'master' into llvm6
5a800db48 build: std files and c header files are only specified once
a45db7e85 add building the self hosted compiler to the main test suite
5b156031e enum tag values are expressions so no parentheses needed
5c988cc72 readme: update macos installation instructions
36ff26609 fix self hosted compiler on windows
6281a511e add noInlineCall to docs
c741d3f4b add test for while respecting implicit comptime
d9d61ed56 doc fixes
1d77f8db2 Merge branch 'master' into llvm6
0ea50b315 ir: new pass iteration strategy
aafb83228 Merge pull request #668 from sparrisable/master
d15b02a6b Added format for floating point numbers. {.x} where x is the number of decimals.
4e3d7fc4b fix self-hosted parser test
192a03917 move utf8 parsing to std
6bfaf262d Merge branch 'master' into llvm6
08dd1b553 set compile flags for zip_cpp
6fece14cf self-hosted: build against zig_llvm and embedded LLD
2a25398c8 fix segfault when passing union enum with sub byte...
86397a532 docs: fix typo
f0a175360 add source encoding rules to the docs. see #663
d6a74ed46 [self-hosted] source must be valid utf8. see #663
fb96c3e73 debug needs to export FailingAllocator
4183c6f1a move std/debug.zig to a subdirectory
9dae796fe translate-c: set up debug scope for translated functions
79c2ceb2d build: findLLVM correctly handles system libraries
e0a1466bd build: add --search-prefix option
2031989d9 std.os.path.resolve handles an absolute path that is missing the drive
8b716f941 Merge branch 'master' into llvm6
87ba004d4 translate-c: set up debug scope for translated functions
c8302a5a0 build: findLLVM correctly handles system libraries
0082989f2 [self-hosted] tokenizer error for ascii control codes
3cbc244e9 build: add --search-prefix option
74a12d818 std.os.path.resolve handles an absolute path that is missing the drive
45ab752f9 source files must end with newline
fe6604628 Merge remote-tracking branch 'origin/master' into llvm6
39c7bd24e port most of main.cpp to self hosted compiler
760b307e8 fix endianness of sub-byte integer fields in packed structs
e44a11341 std.math: remove unnecessary inline calls and
0e7fb69be bufPrint returns an error
ea805c5fe fix darwin and windows from previous commit
d917815d8 explicitly return from blocks
8bc523219 add labeled loops, labeled break, labeled continue. remove goto
d686113bd fix crash when implicitly casting array of len 0 to slice
1cc450e6e fix assert when wrapping zero bit type in nullable
1435604b8 add sort.min and sort.max functions to stdlib
2a8160e80 Merge branch 'export-rewrite'
9d9201c3b bring back code that uses export and fix tests
27ba4f0ba export keyword works again
c627f9ea1 wip bring back export keyword
1fdebc1dc wip export rewrite
3f6588797 fix std.mem missing error.OutOfMemory decl
ab4493994 roughly parsing infix operators
39e96d933 change mem.cmp to mem.lessThan and add test
68f633234 fix missing import from previous commit
6bc0561d1 disable sort tests for 32-bit windows because of issue #537
75ecfdf66 replace quicksort with blocksort
c9e01412a fix compiler crash in a nullable if after an if in...
f55fdc00f fix const and volatile qualifiers being dropped sometimes
84619abe9 add test for allowing slice[slice.len..slice.len]
d295279b1 self-hosted: implement var decl align
0003cc810 self-hosted: implement addr of align parsing
24c2703df self-hosted: look for llvm-config in homebrew
cdaa735b2 self-hosted: build tries to find llvm-config.exe
2b9302107 self-hosted: cleanup build looking for llvm-config
cd5fd653d self-hosted: move code to std.os.ChildProcess.exec
caa6433b5 stack traces: support DW_AT_ranges
23058d8b4 self-hosted: link with LLVM
ed4d94a5d self-hosted: test all out of memory conditions
c4e7d05ce refactor debug.global_allocator into mem.FixedBufferAllocator
d8d379faf self-hosted: refactor into multiple files
a3a590a32 self-hosted: workaround for issue #537
fd6a36a23 self-hosted: parsing and rendering blocks
9a51091a5 self-hosted: clean up parser
f951bcf01 self-hosted: parse variable declarations with types
53d58684a self-hosted: parse var decls
f210f17d3 add self-hosted parsing and rendering to main tests
4b1d120f5 Merge remote-tracking branch 'origin/master' into self-hosted
dc2e3465c rendering source code without recursion
22dc713a2 mem.Allocator initializes bytes to undefined
990db3c35 rename @EnumTagType to @TagType in type names
62ead3a2e parsing an extern fn declaration
e9efa7433 partial parameter decl parsing
f466e539e tokenizing libc hello world
d431b0fb9 parse a simple variable declaration
5ead3244a Merge remote-tracking branch 'origin/master' into self-hosted
756a218e2 add implicit cast from enum tag type of union to const ptr to the union
18cf25681 Merge branch 'master' into self-hosted
3577a80bb translate-c: more complex logic for translating a C cast in a macro
0dd3bbf6e Merge branch 'master' into self-hosted
182cf5b8d translate-c: support macros with pointer casting
dc502042d translate-c: refactor prefix and suffix op C macro parsing
37fbf0175 awkward void union field syntax no longer needed
18b8a625f upgrade to new args api
7c91a055c Merge branch 'master' into self-hosted
62c25af80 add higher level arg-parsing API + misc. changes
04612d25d Merge branch 'master' into self-hosted
249cb2aa3 fix regressions from previous commit
f464fe14f switch on enum which only has 1 field is comptime known
bb6b4f8db fix enum with 1 member causing segfault
c49ee9f63 allow union and its tag type to peer resolve to the tag type
2715f6fdb allow implicit cast from union to its enum tag type
b66fb7cea fixes issue better than this branch, revert to master branch ir.cpp
6018dbd33 Merge branch 'master' into self-hosted
960914a07 add implicit cast from enum to union
63a2f9a8b fix casting integer literal to enum
74cea89fc translate-c: fix not printing clang errors
08d531143 parser skeleton
3976981ab tokenizing hello world
7297baa9c tokenizing basic operators
07898cc0d tokenizing string literals
798dbe487 simple tokenization
31d9dc353 read a file
fe39ca01b Merge remote-tracking branch 'origin/master' into llvm6
5ebed1c9e fix incorrect LLVM IR for union constant when active field is void
42004f901 Merge branch 'master' into llvm6
a966275e5 rename builtin.is_big_endian to builtin.endian
67e6d9bc3 Merge pull request #644 from Dubhead/Dubhead-fix-message-color
fea016afc Fix the color of compiler messages for light-themed terminal.
76f3bdfff add test for casting union to tag type of union
dd3437d5b fix build on windows
54138d9e8 add test for union with 1 void field being 0 bits
084911d9b add test for @sizeOf on extern and packed unions
942b25089 update docs regarding enums and unions
05d9f0754 more tests for unions
fce435db2 fix abi alignment of union-enums not counting tag type
5a8367e89 rename @EnumTagType to @TagType. add tests for union-enums
0ad123952 rework enums and unions and their relationship to each other
137c8f5e8 ability to set tag values of enums
98237f7c0 casting between integer and enum only works via tag type
54a0db0da todo: fix #639
67b8b00c4 implement insertion sort. something's broken
921825b4c Merge branch 'llvm5.0.1'
cf96b6f87 update to LLVM 5.0.1rc2
bdd524161 update c_headers to llvm 5.0.1rc2
a206ef34b LLD patch: Fix the ASM code generated for __stub_helpers section
ddca67a2b LLD patch: workaround for buggy MACH-O code
fa45407e7 LLD patch: Fix for LLD on linker scripts with empty sections
9ea23272f LLD patch: COFF: better behavior when using as a library
77b530b50 updated embedded LLD to 5.0.1rc2
b4120423a translate-c: only emit enum tag type if not c_int or c_uint
264c86853 packed structs can have enums with explicit tag types
b62e2fd87 ability to specify tag type of enums
5786df933 add mem.readIntLE and readIntBE
210d0017c fix build broken by previous commit
7729f6cf4 translate-c: support static incomplete array inside function
716b0b865 fix capturing value of switch with all unreachable prongs
ccea8dcbf better error code for File.getEndPos failure
88a7f203f add Buffer.appendFormat(
418b0967f fix os.Dir compile errors
afe3aae58 Merge remote-tracking branch 'origin/llvm6' into llvm6
d4cd4a35d update fast math llvm API to latest
91ef68f9b Merge remote-tracking branch 'origin/master' into llvm6
706628300 translate-c: support const ptr initializer
26096e79d translate-c: fix clobbering primitive types
8d5c4a67a Merge branch 'dimenus-c-field-expr'
e745544da translate-c: detect macros referencing field lookup
f537c51f2 Merge branch 'c-field-expr' of https://github.com/dimenus/zig into dimenus-c-field-expr
1ab84a27d translate-c: fix sometimes getting (no file) warnings
3e8fd2454 Implements translation for the prefix not operator (#628
57049b95b Resolving merge w/ upstream master
04472f57b Added support for exporting of C field expressions
671183fa9 translate-c: support pointer casting
93fac5f25 translate-c: support variable name shadowing
9a8545d59 translate-c: fix translation when no default switch case
aa2ca3f02 translate-c: better way to translate switch
1b0e90f70 translate-c supports switch statements
687e35929 translate-c: avoid global state and introduce var decl scopes
df0e87585 translate-c: introduce the concept of scopes
a2afcae9f fix crash when constant inside comptime function has compile error
48ebb65cc add an assert to catch corrupted memory
b39092982 translate-c supports break and continue
bf20b260c translate-c supports for loops
18eb3c5f9 translate-c supports returning void
cd36baf53 fix assertion failed when invalid type encountered
40480c7cd translate-c supports string literals
68312afcd translate-c: support pre increment and decrement operators
741504862 update homepage docs
5a2550566 rename "parsec" to "translate-c"
afbbdb2c6 move base64 functions into structs
a44283b0b rework std.base64 api
339d48ac1 parse-c: support address of operator
3e835973d Merge pull request #617 from dimenus/dll-load
b50c676f7 add parse-c support for unions
a7d07d412 Added DLL loading capability in windows to the std lib.
d10868938 Merge branch 'unions'
1473eb9ae add documentation placeholders for unions
5d2ba056c fix codegen for union init with runtime value
e26ccd516 debug safety for unions
f12d36641 union secret field is the tag index instead of distinct type index
018cbff43 unions have a secret field for the type
3740bfa3b update fast math flags for latest llvm
a984040fa Merge remote-tracking branch 'origin/master' into llvm6
9a4da6c8d Merge branch 'master' into llvm6
f276fd0f3 basic union support
7a74dbadd add docs for std.base64
371e57815 Merge remote-tracking branch 'upstream/master' into llvm6
5029322aa c-to-zig: handle UO_Deref
6ffaf4c2e parsec supports do loop
012ce1481 parsec supports post increment/decrement with used result
4c2cdf6f4 parsec supports more compound assign operators
c1fde0e8c parsec supports bitshift operators
635672405 Merge branch 'dimenus-parsec'
03732860b add test case for previous commit
df0736164 Merge branch 'parsec' of https://github.com/dimenus/zig into dimenus-parsec
57cd07495 parsec supports C comma operator
1f28fcdec parsec supports C NULL to pointer implicit cast
b3b4786c2 Fixed duplicate decl detection for typedefs/enums
98e3c7911 Fixed duplicate decl detection for typedefs/enums
a890380b6 fix windows trying to run linux-only tests
ca87f55a7 Merge branch 'bscheinman-linux_timer'
5ae53dacf rename test
5895204c9 Merge branch 'linux_timer' of https://github.com/bscheinman/zig into bscheinman-linux_timer
87407b54b add epoll and timerfd support on linux
1403748fd disable broken 32 bit windows test
df89291d1 Merge remote-tracking branch 'origin/master' into llvm6
019f18058 fix test failures
403a46abc fix test failure on 32 bit windows
6bf154714 Merge branch 'darwin-stat'
029d37d6a fix bug when multiple function definitions exist
20c2dbdbd add windows implementation of io.File.getEndPos
1ac46fac1 add a std lib test for reading and writing files
e9d7623e1 Merge remote-tracking branch 'origin/master' into llvm6
336d81894 Fix Stat include in darwin land (#605
52521d5f6 fix typo on darwin lseek (#602
7ea669e04 fix parameter of extern var args not type checked
4f8c26d2c fix enum sizes too large
53b18c854 fix travis linux script
454341349 std.io: introduce buffered I/O and change API
3a600297c Merge remote-tracking branch 'origin/master' into llvm6
634e8713c add @memberType and @memberName builtin functions
f0dafd3f2 fix typos in std.io (#589
52a299286 Merge pull request #587 from scurest/c_alloc_redeclaration_of_mem
48c818188 fix redeclaration of mem (#585
bd6f8d99c add test for c_allocator
4cc9fe90a fix build on MacOS
f0d755153 add compile-time reflection for function arg types
4a6df04f7 slightly more verbose error message when building object file fails
75afe73c6 Merge pull request #581 from Dimenus/line_endings
d4c1ed95a Merge pull request #583 from Dimenus/libc_runtime
189076020 Windows libc & static libc are located in the same dir which is already covered by msvc_lib_dir
1ef6cb1b6 Add support for windows line endings with c macros
795703a39 Add emit command-line option (#580
a31b23c46 more compile-time type reflection
dc8b011d6 fix incorrect debug info for empty structs
4a82c2d12 fix incorrect debug info for empty structs
188fd47a5 add missing environment
9a99bd3a7 use llvm named structs for const values when possible
94ec2190f update to llvm master
abff1b688 windows: use the same libc search within a compilation unit
f7837f445 bump build_runner allocator to use 30 MB
38f05d4ac WIN32: Linking with the CRT at runtime. (#570
b35689b70 Enforce "\n" line endings on Windows (#574
25972be45 fix windows build from previous commit
9e234d420 breaking change to std.io API
7a96aca39 Merge branch 'master' into self-hosted
1a414c7b6 delete -municode command line argument
540bac092 Merge branch 'master' into self-hosted
4c306af4e add test case for previous commit
f1072d0d9 use llvm named structs for const values when possible
666363819 Improve invalid character error messages (#566
f4ca3482f add guard to c_headers for duplicate va_list on darwin
c7053bea2 better output when @cImport generates invalid zig
300c83d89 fix crash on field access of opaque type
5f28a9d23 cleaner verbose flags and zig build prints failed command
6764a4522 Merge branch 'better-float-printing'
73fe5f63c add some sanity tests for float printing
1e784839f Merge branch 'float-printing' of https://github.com/scurest/zig into better-float-printing
1828f8eb8 fix missing compiler_rt in release modes
262b7428c More corrections to float printing
4f4da3c10 wip self hosted code
d7e28f991 remove CXX ABI workaround
643ab90ac add maximum value for @setAlignStack
03a0dfbec Print better floats
92751d5e2 self hosted zig: print usage
c1642355f parse-c: improve performance
a1af7cbf0 report compile error instead of crashing for void in var args
175893913 fix compiler crash regarding type name of undefined
9b91c7608 std.fmt.format supports ints smaller than u8
b3d12d2c9 zig build: fix system libraries not respected for C artifacts
3c3af4b33 fix docs link
a27c0dd59 remove unsupported targets from readme
78cb4ce03 Release 0.1.1
79193ffed build: fix logic for version when there is a git tag
ad07c6850 Release 0.1.0
09c0cf2dc Add c allocator (#542
0744c83f5 add uwtable attribute to functions on windows
5866032e7 fix codegen of enum name table having wrong LLVM types
38a947c68 appveyor: update version to match zig version
1d88f9b9a appveyor: build with msvc and publish artifacts
cbb6d2239 look for libc at runtime on windows
8cfb0cfbc std.os.ChildProcess: on windows cwd affects exe search path
4e2a5e6b1 fix regression on posix from previous commit
d08c57741 ability to make a DLL
78b753af9 fix debug safety tests on windows
d6bfa3f63 fix compare-output tests on windows
2a0811678 LLD COFF: close handles to objects used to link
562f91e87 clean up some resources
e3ad13e05 fix windows argument parsing
f87f98015 16MB stack size when building with msvc
c837ae170 set stdout and stderr to binary mode on windows
fca1d5362 std.io: fix bug when writing large buffer
faf64b5d0 fix posix from previous commit
fcef7c4bb fix std.io.InStream for windows
bb169a7b3 fix child process stdio piping behavior on windows
1fe1e6eea mingw build: delete unused variable
a98373f14 use correct integer type for windows BOOL
3c1988349 only SetConsoleTextAttribute to do console colors on windows
6fe1c3186 disable some of the failing tests
3b0fe534b fix regression on posix from previous commit
8ab531304 implement environment variables for windows
55e8bbd16 std.mem.IncrementingAllocator: check for errors
9c44dd7db disable byval parameters on windows to work around llvm bug
ba405ed59 try harder to emit console colors
fd7654e4e build-exe allows direct export of WinMainCRTStartup
f54aff467 implement io.OutStream.openMode for windows
46352f6bf std.io: remove unused constants
531f3344d implement std.os.rename for windows
61d715d78 implement std.os.symLink for windows
ad6eec948 fix regressions from previous commit on windows
0307dc0b7 organize windows utility functions
a68dc6532 fix os.makeDir for posix
0bc80411f implement os.makeDir for windows
8d3eaab87 implement std.os.ChildProcess for windows
7f9dc4ebc fix std.os.getRandomBytes for windows
b61a6ec8a implement command line argument parsing for windows
717e791db better abort() implementation for windows
1f28d641c fix std.io.OutStream.close for windows
aa78827db add module flag to emit CodeView for COFF object files
1c2863173 use allocator.shrink instead of realloc in os.path.real
e6334fe46 implement std.io.InStream for windows
055b856f1 fix build on non-windows
c4262da8d implement os.path.real for windows and update allocator interface
a4310cf8b implement std.os.deleteFile for windows
7f5674432 fix os.path.resolveWindows on non-windows
987e0f5ac Merge branch 'windows-paths'
9d5f15fe3 implement os.getCwd for windows
7cfab2fb5 implement std.os.relative for windows
e15e1e09f os.path.basename implementation for windows
dcf5c9074 more std.os.path work for windows
08ee69dac implement os.path.dirname for windows
968ff38ca better support table
b4e42042c fix compiler crash when invalid value used
569cf286f Fix for LLD on linker scripts with empty sections
522b43105 fix isatty for macOS and libc (#523
3af35fc1d fix mingw build
f86684f41 fix duplicated symbols in compiler-rt tests
8d4668231 compiler-rt tests pass with and without libc
3c6eff465 fix tests on linux and macos
402b03c4a Merge branch 'windows-alignment'
6a0c42899 use __chkstk_ms compiler-rt functions for __chkstk
b50546250 replace __chkstk function with a stub that does not crash
f1bd02e6f add @setAlignStack builtin
c180ef86a fix travis
ec40542c4 windows: alignstack=16 on every function
0a4283b38 support terminal colors for cmd.exe and msys pty
b3f3db46b compiler-rt: strong linkage for __chkstk
25ea8f7db fix typo in compiler-rt
5cbae7b67 better compiler-rt linkage logic
8156e4f78 fix parse-c tests
e3ea0b652 still build compiler-rt when linking msvc CRT
756d5c545 remove unused function
4d865e355 support linking against MSVC libc
156357474 add git rev name to version string when available
271d6f8bb fix regression from previous commit
1962c8588 implement standard library path search
9636603a3 fix build when no cmake path args specified
0975e37b1 fix implementation of --zig-std-dir
0227becb5 build: escape backslashes in path arguments given to cmake
4bf149795 update hello world examples
a2e6ada1c travis: set -e on osx script
a458ec999 travis: older wine only works with i386 builds
c42f7309b travis: fix typo in linux script
6ae631d1a add windows 32 bit to test matrix
5e6fc94b7 fix codegen on windows
6f250f568 workaround llvm bug for windows alignment
844e05f61 improve bit shift API in std.math
c6295fe9a remove zigrt
6db589fff don't try to use cold calling convention on windows
08708ea4d fix typo in target_can_exec logic
cd58b4001 update C headers to clang 5.0.0
ba3d21ca6 better divTrunc codegen
588d2862d workaround for invalid binary created on windows
845f22101 zig test on 64-bit windows runs 32-bit tests
d43204c95 better output for cross platform zig test on windows
5c4504e00 disable /W4 on MSVC
9c6e12ac2 compiler-rt: add _aulldiv and _aullrem for i386 windows
b7a4f16cc fix previous commit
53aa72b58 add ___chkstk_ms compiler-rt function
09369b6a4 better implementation of os_spawn_process for windows
3fe50cb13 simpler cmake for msvc
fb365e395 fix build on mingw
0cfeefbf1 Merge pull request #502 from zig-lang/f128-literals
9dfe217be Allow 128-bit hex float literals
fd5a5db40 implement IncrementingAllocator for Windows
9ae66b4c6 add test for std.mem.IncrementingAllocator
583ca36e6 add reset() method to IncrementingAllocator (#501
c03a76414 README: we support x86_64 macos
224cd8a01 add fmt.parseInt
768af6697 implement setreuid, setregid for darwin
4f0f3a7d4 std.os.ChildProcess: setgid before setuid
5c2db5a94 add std.fmt.trim
fd2d502e4 std.os.ChildProcess: ability to set both uid and gid
cba4a9ad4 update std.os.ChildProcess API
79400bfdf fix docs
6c3a56a7f fix i386 windows stdcall
8f0dfcbcf Revert "windows API functions are not stdcalls"
59410a2f1 windows API functions are not stdcalls
ba41be67f windows gui hello world
41b588547 improvements to windows support
7fd164f19 zig build: add linkFramework API
2f98676bb std.build: fix -install_name for darwin dynamic C linking
eb0867d3f std.build: fix building C dynamic libraries on darwin
d71d6363c macho linking: support full lib paths correctly
10fa51a08 README: adds for contributors we want
e7a01c24a LinkedList helper functions (#493
c2f3dc94e Merge branch 'c-to-zig'
ee42caee0 fix chain assignment semicolon
d7775e3dc chain assignment
be37b03f4 parse-c: support sizeof
c01ae69cd parse-c: support implicit cast to void *
2655cf1bf parse-c: support c style cast
5ac2cf9c2 fix assignment needing an lvalue
1360af847 parse-c: array access expression
67a5a3f3d add sub mul div rem
0d1f64b08 parse-c: fix undefined array literals
33784871e assign
f7cb77a02 Merge remote-tracking branch 'origin/c-to-zig' into c-to-zig
2ae789d27 bitwise binary operators
0d9174750 parse-c: null statements
eba45b001 parse-c: field access expressions
0827a8f36 !=, ==
4c8443d96 logical and, logical or
05c1a8b3c add some tests
bf6d32f8c Merge remote-tracking branch 'origin/c-to-zig' into c-to-zig
46fef543f if statement
f68d72464 parse-c: support function calls
38059e6f9 parse-c: fix anonymous enums
c3814eee2 Merge remote-tracking branch 'origin/c-to-zig' into c-to-zig
c10b052ce translate expr++ from c to zig
9cdb5dec7 parsec: cleaner shifting code for fixed size types
a5e4e205c fix tests
e2f8bec7a optimize >>= operator for common case
0228f8c9f all parsec tests passing
b1e04865c parsec: don't make pointless block in fn body
3c41c2d84 Merge branch 'master' into c-to-zig
c4a54377e Stop debug allocator ever panicking (#492
751ab72a8 std: fix os.sleep on darwin and windows
86eb18366 coff linking passes -DEBUG
46ddeb0ba add --verbose-link option
10ad3253d std.build: catch mistake of setting output path to build dir
24b6dcc50 std.build: explicitly disable stack protector when nostdlib
8cb669475 README: macos instructions: suggest running tests
365cb130d README: macos instructions: simplify
67e608382 add macos instructions to readme
385da95eb std.build: simpler API
dbc202cc6 add test for struct with invalid field
c5ca8b51f zig build: use stack protector for C code in debug mode
c7d80cc42 fix crash when enum has invalid field
6e5edc79e fix build for travis osx
b8ee3a814 add -mllvm support
faaaf8832 fix use of uninitialized variable in alignCast
7ee00730a add option to run tests in LLDB and turn it on for macos travis
a9ecb26c3 std.os.ChildProcess: fix fd leak
21a55d89b add release-safe to the test matrix
71342f824 Add dash arguments for cli
dcc5f2456 Fixed softfloat header file for msvc (#482
766547dbf bump incrementing allocator memory in build system to 20MB
5989b8835 do not depend on __int128
75b1c71cb Merge branch 'soft-float'
14cda27b6 depend on embedded SoftFloat-3d instead of __float128
7ddc259ac add SoftFloat-3d
bb44e4b47 Fixed a couple compilation errors for MSVC 64-bit (#475
d9eabde31 add Child property of slice type
5931a6b1a Merge branch 'msvc'
57ea6e8c9 fix up msvc stuff to make it work on linux and macos too
32c51e015 Merge remote-tracking branch 'origin/c-to-zig' into c-to-zig
4adffea8d analysis of result used
bf52a7480 fix error messages
99cb6e955 actually it was, oh
e52418097 not my segfault
7e3f45a49 Merge branch 'master' into c-to-zig
6f50457b6 wip c to zig stuff
4bd23aefe local var
67021e2bf Modified cmake to use LLVM imported packages.
7c81cd30d Add support for MSVC
373785ae8 c macros: support hex chars (#459
4f44d4992 fix uninitialized variable
011df61f8 fix not verifying GlobalLinkage and AtomicOrder types
3f8b26c06 Allow INVALID_HANDLE_VALUE for windows to work on 32-bit and 64-bit. (#457
0f7544cfc std.io.InStream: add readLine function (#458
b00b7bd29 variables are allowed to be pointers to opaque
b5d9584e6 support parens in C macros
9dfbdeace add import test
4c78142af rename some behavior tests
bc0a60c7a more compile errors for non-const variables of things
5fdf3fa19 std.fmt knows how to format &[N]u8
120e2fdf8 build: add more search paths for libclang
f725b20de Add appendSlice function (#448
67a31befa Add exit function (#450
850a1d205 Switched find order for llvm, means it will choose llvm version 5.0 before any other version. (#446
d244deb59 fix std.Buffer.endsWith
2c8ff1d47 std.ChildProcess.spawn: handle 0 from waitpid correctly
838d52a8b std.os.ChildProcess: don't expect all SIGCHLD to come from spawn
a81e51617 fix ChildProcess.spawn on darwin
9fb4d1fd6 std: os.ChildProcess knows when its child died
9dfaf3166 README: add notepad++ syntax highlighting project
9f7e62b95 std: add ChildProcess.kill
7e59f4ff6 std: add os.sleep
1f2548ec5 better build.zig template
e7c3aa7f7 parsec: turn panics into warnings
4b6e27802 travis: use embedded LLD and perform all tests
2c9bdad34 rename parseh to parsec
48c44615a Merge branch 'c-to-zig'
3ff465e28 add OpaqueType builtin
c3362c1cb fix dupe macros, fix void return node and param name nodes
87970920c parseh: fix duplicate definitions
5c386f991 parseh: remove unneeded hash tables
f6c271f8e parseh tests passing
b64843bf7 parseh: fix generating functions from macros
cc621cdee fix parseh bugs
e1d5da20a rewrite parseh to use AST instead of direct types
0f38955ee translate while loops and implicit bitcasts
fa8912ab7 translate some variable declaration cases
7e1bf6d29 progress toward variable declaration translation
a260cfa4d Merge remote-tracking branch 'origin/c-to-zig' into c-to-zig
0d0fffe4d start implementing variable declaration translation
80d75cf3b have trans_qual_type, here
60bdbe540 parseh: emit_warning takes SourceLocation
1449e71de cleanup whitespace
46e9d9df5 c-to-zig: less than, negation, ternary
5a4784cfd unzip handles zip file comments
ee9d1d041 c-to-zig: return statement
608d0399d move unzip to its own folder
cfde82e12 starting an unzip implementation
848504117 Revert "fix return types of min amd max"
180fe8d50 fix return types of min amd max
06b64d82b only export __chkstk for windows
e93ece751 Opaque ptr patch
c42e809f1 setEvalBranchQuota must be called from top of comptime stack
67b6dd28e allow array literals to have size and fix comptime bug
eb0979189 add windows to test targets
156a84e80 compiler-rt: add __aeabi_uldivmod
021155db5 successfully cross-building behavior tests for windows
41da9fdb6 LLD: fix libCOFF calling exit() instead of return
eb8440441 travis: skip cross compiling osx tests
97013951d not macosx since that's what macbook reports as, tests use darwin
0e9bdb44a test suite cross-compile builds tests for other targets
052b4ae94 align syntax: align(4) instead of align 4
3f5dd08ca codegen: all stores specify align value
849f65332 set alignment on all loads and globals
e9280c86a compile error for not-aligned-enough pointer to cmpxchg
010b725bd add alignment field to pointer type
5482f9f9e use the best alignment, when getting an element pointer
56cc62a9c @ptrCast preserves larger alignment if applicable
fa9006f8d generic functions can access comptime args in align value
c2357830b add "child" field to pointer type
b35dad88b add tests for function alignment handling
2d5762235 add test for @alignCast on a slice
898d65baa more alignment improvements
910a96f04 fix tests
816689a3b ptrCast gives compile error for increasing alignment
be9429966 prevent implicitly increasing pointer alignment
8f682efbc pass all tests without triggering assertions
1116d8219 fix bitfield pointer syntax
c5c9d9806 introduce align keyword
b8ed0cb37 remove workaround for LLVM not respecting "nobuiltin"
d7a539906 Merge branch 'embed-lld'
1525e2c05 travis: use external lld for linux
d302ddab0 build: fix embedded LLD build
7f9de4b94 travis: use external lld for apple
6c7e975b7 remove remnants of depending on darwin system linker
e6b7b8a07 build: use embedded LLD by default
1a1414fc4 LLD: workaround for buggy MACH-O code
7b4977f5e LLD: apply "[MACH-O] Fix the ASM code generated...
4794281d6 embed LLD 5.0.0
ebdc6b594 all tests passing in MacOS
5fd579a51 macos passing all tests except for building a shared library
ff2c79461 all behavior tests passing for macos
91536813e macos updates
01f88bf8c travis again
fedccf9d2 travis try again
6623a11b2 travis: add macos script
b59aa7b90 fixups to linux build
29a418c9d progress toward tests passing on MacOS
2a49c876b audit alignment for functions
95aed8c45 Merge branch 'align'
a0ae575ff codegen for enums chooses best order of tag and union fields
40feecb3e fixups from previous commit
5bc877017 use most_aligned_member+padding to represent enum unions
e726925e8 remove @alignOf and add @cAbiAlignOf and @preferredAlignOf
3a4ea41fe add some asserts in switch analysis code
2b8f98a52 fix wrong switch target type with enum from .h file
105a09e1d fix invalid llvm IR for const enum
234030c37 update build to look for llvm 5.0
8f5754441 update travis for llvm 5
2bd6c6075 update for llvm 5.0.0rc1
6aa04c422 float division by zero check only when FloatMode.Optimzed
a0223e513 add zig-compiler-completions to Related Projects
db613d38f implement comptime bitcasting from array
4d8269f69 fix some casts on const data causing segfault
754f7809e refactor - codegen llvm functions lazily
629aa10c5 unreachable still codegens to unreachable in ReleaseFast test mode
5dddb45ec fix compiler test errors
0a922d3bc move docs to website
d5271d1e4 more zen
be1603427 std.math: remove constants that can be derived
f248ef5f3 move zen of zig to a sub command
d9dd50d74 fix not propagating parseh aliases through pub use decls
8e19bdfc7 zen update
09bd4a9a8 compile-time f32, f64 operations are now correctly lossy
c73a0c92d fix floating point printing
caaeab988 add setEvalBranchQuota builtin function
eb26aeb1e std: better int log2 implementation for number literals
cd2f65ff6 add compile error for globally shadowing a primitive type
987768778 bit shifting safety
558ece8f6 slightly nicer floating point printing
33c592e98 make udivmod generic and add tests
51bde2684 add compiler-rt fns: udivmodti4, udivti3, umodti3
ea9e1639c include compiler-rt tests in main testing suite
0aa36e882 remove dependency on quadmath.h
b73d4f74c depend on libquadmath
e1c225694 cast between __float128 and double to fix build in some places
3a762e5a8 make casting between __float128 and long double explicit
1b5d61bee fix bitCast for big integers
2173e1f45 fix big integer shifting by large number
e63d864c1 add compiler_rt functions for f128
0d117bb0a ctz at compile time, fix wrong value for clz
6a98bf3db compiler_rt implementations for __fixuns* functions
cf46cd5f2 organize file path of compiler_rt
38f898e9c update gitignore
dea90e20e fix tokenization error pointing to wrong character
ba7b5daa2 Merge pull request #417 from zig-lang/coverage-fix
3a0bfeb9d Fix coverage build command
35d3444e2 more intuitive left shift and right shift operators
54675b060 add ptrToInt builtin, remove usize(ptr) cast
9ca798bc7 zen update
221e5b188 README: add the zen of zig
f78ee5348 fix printing floating point compile errors
2234788fa add ability to explicitly cast float to integer
38b47d8ac Merge pull request #412 from zig-lang/issue-399
0705b711f Correct floating-point literal allowed ranges
d8227c79a limit generated C preprocessor tokens to alphabet
1268bdfa6 Revert "silence false positives about uninitialized variables"
d83e4092b fix constant debug info when number literal is 0
a0a57beed fix invalid target info
f1b2735a2 fix segfault when var args fn proto shows up in ir printing
3d1a0f2ee silence false positives about uninitialized variables
d247859ff remove duplicate gitignore entry
57fb8efde add missing stdcallcc to ExitProcess decl
ad9f48b74 fix initializing undefined and crash when casting to invalid type
27e4893ee Add Visual Studio Code extension link
f4b214c01 remove unused enum
d1e68c3ca better bigint/bigfloat implementation
3e8af7889 Merge branch 'math'
e81bf1c38 Return undefined in frexp instead of 0 on nan input
5aff641f4 Fix pow tests
994f4da8d Fix scalbn constant multiplier
14a324a0f Fixes for release mode tests
dfa2d1116 fix incorrect install line in cmakelists
aeb12d52b Add install targets for math library files
5bbec42a4 Add math special case tests and general fixes
221286433 don't call c.getrandom because older libcs don't have it
c9fc8bd80 workaround for llvm bug
799c69910 Merge branch 'master' into math
62b23f5da build: link against system libs reported by llvm-config
4efb9ae2e Get tests passing under release mode
62323eeb7 std: refactor pow to be generic
76344a6fc Merge branch 'trailing-commas'
1a63f2724 allow trailing commas
1566ca21c fix peer type resolution for array and error
91afdc58d update C headers to clang 4.0.0
c0f9012be parseh: fix not recognizing integer suffixes on hex numbers
4c16f9a3c Add math library
865b53f28 fix alignOf builtin
ae61e2668 fix compiler segfault on `null ?? x`
7f0620a20 partial implementation of printing floating point numbers with errol3
6a93dda3e progress toward windows hello world working
199bbb629 progress toward hello world without libc in windows
e5b90651b compileError builtin includes "referenced by" notes
e64f0971f add appveyor integration testing
1e301b03a change std.rand.Rand.rangeUnsigned to std.rand.Rand.range
1ae2002b4 fix crash when writing to const hardcoded ptr
8ae4ffa49 fix crash when unwrapping optional field of global variable
16f16b9c1 Merge pull request #380 from AndreaOrru/master
8d6ecfeff Updated comment.
6a87aa4d2 Generalize join.
2dfb1ebee const global values can reference each other
d6b01931e implicitly cast by value var args parameters to const references
c42c91ee7 fix segfault with array of generic functions
fcdd808c5 fix segfault with array of variadic functions
68add5d82 clean up behavior test names
0065eb7c8 and error unions, errors, std.fmt can print nullables
d8d45908f building with mingw for windows
1c8fee41c add compile error for goto leaving defer expression
9f3cca861 add error for break/continue exiting defer expression
1c6f415a6 fix compiler crash when indexing types
565ac3e27 flip the enum order of FloatMode
29b488245 add setFloatMode builtin and std.math.floor
051ee8e62 change slicing syntax from ... to ..
b483db486 etc, isFloat, typeId builtin instead of isInteger
9851a943e add compile error for compile-time integer cast truncating bits
f37506391 fix printf format specifier
a7570186e add compile error for comptime division by zero
63f6676fe add compile error for casting negative value to...
623741171 inline function call with builtin function instead...
01f066de3 ability to slice ptr to hard coded integer at comptime
99f077baf zig build: allow calling b.standardReleaseOptions...
304cfb712 move docs to ziglang.org
2f20fe6ec delete @generatedCode builtin function
8abcd94ec std.fmt.format prints bool values
5774b48ce rename c_long_double to c_longdouble
e485af94d fix inability to initialize global pointer to global array element
b7579f5f7 update README
7261cd19b detect duplicate switch value even when else prong present
dc2df1552 add test case for all prongs unreachable in switch
11d8a8cc7 fix comptime switch on enum with ref payload
818a0a262 switch expression - add compile errors
29beb603b allow division and remainder operators sometimes
157af4332 builtin functions for division and remainder division
866c841dd add compile error when unable to inline a function
5c094d739 std: rename List to ArrayList and re-organize...
b6a679c0e implement else on loops and break can give an expression
0454e610b std: take advantage of new while syntax
20b1491e6 implement while for nullables and error unions
698829b77 change while syntax
644ea2dde remove test and try expressions in favor of if expressions
0940d46c0 add compile error for shadowing variable
6756c27ca zig build: cache_root is relative to build_root
6f6669121 Generic doubly linked list. (#361
cceaa73ff zig build: inherit stdin for running commands
3b921afc6 slightly better memset/memcpy implementation
f87be94f6 zig build: copy args for addCommand
f69d28a08 fix debug info for nullable type
24a9a4296 add safe release build mode
7c236f6dd fix compiler crash when referencing a variable...
9f92042da allow undefined to be resolved with other types
cff5358f6 make debug safety stuff lazy
3cbd0065f basic support for specifying packages at the command line
17b935325 `@import("builtin")` instead of `@compileVar`
c5dd53684 zig build: support install for zig artifacts
943dbe5b5 zig build: improved API for installing C build artifacts
97f6b6093 zig build can build and install static C libraries
2c6827064 fix regression from previous commit
1ec89b028 zig build: refactor CLibrary and CExecutable into same struct
363d9038c zig build: organize build artifacts
38a04a267 zig build: when compiling C files put .o files in cache dir
43e7ac841 add peer type resolution `[]T` and `[0]T`
29defd705 back to AT&T syntax for assembly
cbfe4b4ba add implicit cast from [0]T to %[]T
d04d3ec77 build system: remove setLinkerScriptContents
a147f0658 zig puts temporary object files in zig-cache folder
458afb0ef phi instruction retains stack ptr hint
2e512a0e6 add compile error for returning local variable address
1691074b4 add no-elim-base-pointer to __zig_fail function
7e11ef79d zig test no longer requires a separate test_runner.o file
7b0542d08 build system: consolidate duplicate code and more
09bc4d6ba build system: addAssembly and addObject functions
afa80da85 revert the last 3 compile time improvements
13c6a58a6 compile time improvement - move bounds checking to function calls
861439711 compile time improvement - move overflow math safety to fns
efa771af7 compile time improvement - add __zig_panic_slice fn
e0050af29 add some timing diagnostics
4cc2ea142 update travis badge to new url
a5c509c94 readme update
05198e032 readme update
d72fb2aba update README
6cd725c24 stack traces support compile units with no pc range
245eed8af better stack traces for ELF x86_64
08a871f62 defer requires expr to be void. closes #341
ac7971122 fix check-statement-is-void. add tests
c6605cba8 blocks check that their statements are void
6de33ded8 make undefined as a constant value lazy
2ed47070e refactor ir_gen_block to make different return paths more clear
14dfbd6ad remove redundant unreachable code error
8299fe19c add test_artifacts to .gitignore, so you can commit while tests are running
f9fa768dc zig build system: installFile and installClibrary
0f633167c fix crash when unwrapping error with no error decls
ad9040443 new compile errors for setGlobalAlign and setGlobalSection builtins
aafb0b908 slicing now returns correct const-ness
1a0081b76 add peer type resolution for T and ?T
e0b635e82 std.os.ChildProcess: fix closing wrong file descriptors
0cce11547 update syntax for try and nullable unwrapping
d5346d7a8 remove `?return` and `?defer`
bee1ae68e std: fix PATH resolution when spawning child
3a137c6ff add Travis CI integration
e3c524c1d rename `@ptrcast` to `@ptrCast` to follow convention
ecb71d1dd add example which exercises addObject in the zig build system
fb492d19e zig build system supports building a library
599215cee add compile error tests for offsetOf builtin
68f75a313 Merge pull request #338 from raulgrell/master
523401656 Add @offsetOf builtin function
037a9d937 Merge branch 'self-hosted-tests'
8654bc181 delete test_artifacts directory when tests complete
1ff73a8e6 convert parseh tests to zig build system
d12f1f5b4 test framework supports name prefix and filter argument
9b7f43888 convert debug safety tests to zig build system
d1e01e43d convert assemble and link tests to zig build system
666435195 update zig build help text when no build.zig found
35d60eb4e remove unused test code
d0a17b693 convert std lib tests to zig build system
10525b869 convert build examples tests to zig build system
37b9a2e6a convert compare-output tests to use zig build system
237dfdbdc error when building exe with no entry point
6f0f8a92e bail out of analysis on first error during comptime eval
9021bb796 std.rand API follows idiomatic convention for init
a79141755 add `@fieldParentPtr` builtin function
407916cd2 rename `@intType` to `@IntType` to follow convention
def4fbc9a Merge branch 'raulgrell-master'
c7852bd59 minor clean ups from previous commit
326658560 Implicit cast from T to %?T
2e0b114fd add compile error for intToPtr with a 0-bit ptr
216e14891 zig build system creates symlinks atomically
401eed815 build examples in ./run_tests
05b308212 zig build system: progress toward install and uninstall
e4ec2d10c zig build system: implement custom command step
47336abae improvements to zig build system and unwrap error safety
d16ce6710 zig build system: ability to link against dynamic library step
3a8490f7e add tests for implicit semicolon. closes #297
3e93796e2 comptime ({}) should not get an implicit semicolon
5fdefe58e zig build system understands the concept of dependencies
a6bd3d8ca move emacs/vim files to separate repos
dcfa0e50d all internal functions get unnamed_addr attribute
f2140efc5 Merge remote-tracking branch 'origin/parser'
bf57d8a7e typedefpocalypse
356424916 block statement lists never get fake expressions
919910312 make it an error to ignore a statement's value
bf67427c6 fix crash when using zig to link
41144a856 ability to inline at function callsite
f043e0e85 build: ignore libLLD.so when it is a broken symlink
403eb92a6 try harder to find lld
286435995 zig build system writes template build.zig file when none exists
7f47b0c27 run alwaysinline pass in debug mode
11a655032 fix some -Wconversion errors
34eff5032 fix for loops not working at compile-time
0e77b0ac8 fix mangling exported global variables
095591f0b add enumTagName builtin function
7611ed348 allow implicit cast from `[N]T` to `&const []const T`
5eb78ba17 fix std.mem.IncrementingAllocator
f7e9d7aa5 ability to implicitly cast integer literal to &const Int
ffb485201 add compile error for the bug of unable to call var ags at compile time
a3de550d3 fix var args having wrong index when runtime param before it
273cebdf4 [M]T as []const T, peer resolve types [N]T
47f58d6d0 fix runtime struct initialization of bitfield
10dbc735f zig build: use -D for options instead of -O
6fbe1632d Update zig build system to support user defined options
d15bcdce6 std: ChildProcess.spawn looks at PATH env var
d65cd73a8 add support to use zig as a linker driver
8c10b6dcb ability to use zig as an assembler
a461ae6c1 fix crash when referencing invalid member of builtin enum
e30f71364 more accurate detection of pub main
0edc2b19f support module level assembly
d97285eb6 doc: link to Andrea's emacs mode
9c803af04 report spawn error, zig build system: fix cleanup on error
00efbfa05 link: correctly print debug linker invocation
8db9d04e6 link: fix ignoring first linker arg
e332cd65c zig build system: delete ./build file on success
1c6000d04 add some std API, zig build system improvements
72fb2443e API for command line args
b46344fd0 link: delete code that checks the linker version
55dd2676e fix std build for darwin
c9ae30d27 delete alloca builtin function
c400cb429 zig build system: add setLinkerScript and setTarget
a1363b522 proof of concept build system
640389bb2 expose environment variables in standard library
8fd0fddce zig build system progress
0594487a2 fix else-if parsing
a33be6fc9 defer without a block body requires a following semicolon
8d03d666a add secret void expression after defer statement if it's the last statement in a block
e3c796258 allow implicit semicolon after defer {}
136a9a9d6 variable declarations must be followed by semicolon
4b9e782d3 fix confusion in block expression parsing
996887926 Require top-level-declaration comptime use {}
087324a63 show implicit semicolon rules in langref grammar
36a015741 clean up analysis of {blocks}
d5a6cdb03 ignore eclipse project configuration
f8e63c458 change `@bitcast` to `@ptrcast`
3ca027ca8 first pass at zig build system
536c35136 fix cmake finding dependencies for ubuntu
f48f7f43f std/mem: take advantage of new printf
a32b5929c add stack protector safety when linking libc
8aeea7265 add debug safety checks for remainder division
6ee63c8f5 update langref
310335580 add comptime eval for some uint comparisons with 0
5bc9feb5c organize std and make import relative to current file
7ce753a16 replace "&&" and "
451ce0906 new unreachable syntax
22e6bfca9 add comptime top level declaration
9ae426a06 add test for implicit conversion from array to mutable slice
7c53230a6 introduce copyable concept
5c0473053 use intel dialect for inline assembly
fd634f3db don't mangle symbols with underscores
d6856859d improvements for windows and libc integration
01b2bf4a4 add c to link libs implicitly, on Darwin/MacOS/iOS
87bc97dae unify main entry point regardless of whether linking libc
e1c47d6fe fix test regression regarding shadowing names
fa7c64ccd lazy analysis of top level declarations
af536ac34 introduce new test syntax
329457bb4 Merge branch 'master' into lld
a76558db2 fix behavior with reinterpreting constant memory
7efa2cd81 add --each-lib-rpath option and corresponding config option
d10bbd28e use lld instead of system linker
7bc0145b8 types with zero bits do not have a pointer handle
434f017ae codegen nullable void the same way as bool
c78dc5043 add default value for macosx version min when compiling natively
c91dbdb27 fix not allocating enough memory for passing args
cd31f875a update to llvm 4.0
47f267d25 break off some of std.io into std.fmt, generalize printf
c62db5721 support passing var args directly
558ae2f21 fix a case of invalid ptr const-ness
ddd9624e2 fix assertion error, trying to dereference to array
eb9f1e2d5 add basic emacs syntax file
b78752e2d remove zeroes from vim syntax file
0b942f5ee Merge pull request #269 from Jmeggesto/master
5bbde1dc9 Fix unused return value in darwin.zig
6d0afc2bd add compile error for assigning number literal to non-comptime var
03b6d9f54 fix assertion failure for some switch errors
9eb29e81f rename CBuf to Buffer0 and some minor std API changes
119599488 fix inability to write to global in some cases
25761570f more robust const struct values
8dd0b4e1f add passing test for floating point edge case
0ac1934ad fix examples
c36b0fec8 README: more robust suggested configuration command
889bed13c unwrap error payload instruction has side effects only if safety check on
cd992b89d fix unwrap error payload not emitting debug safety
a665872e8 add compile error for ignoring return value
3b40aaa01 add compile error for control flow using comptime var at runtime
4b99f5978 add character format specifier to std.io.OutStream.printf
3075d8aee fix use decls not always working
fe3063e58 update std code for MacOS
b1ace32f2 fix wrong format specifier
786677f80 fix regression with bit fields that align properly
d79454998 bitfields support for array of non-store-aligned packed structs
cf5108f22 correct size of types for packed structs
4709fe117 more robust detection of types that failed to resolve
c4ee37f50 fix assertion failure when first use of a struct is sizeOf
0148f39df pointers with bit offset contain length
244362fed ability to write to bit fields
b6e7a0dad support arithmetic for non byte aligned integer types
fc5d47b9b reading from a bit field partially works
4b5cc80f6 move volatile pointers to central type table
4a957b9ea move int and array types to central table
1fc2082b4 ability to declare const bitfields
63d37b7cf add runtime debug safety for dividing integer min value by -1
0931b85bd fix crash when return value is ??void
79ec5a028 fix tokenization assertion failure on some float numbers
b61f1a9f7 printf: only include + sign on signed ints if width specified
6dba1f1c8 slice and array re-work plus some misc. changes
ca180d3f0 std.io.parseUnsigned buf parameter is const
f7173f4f0 fix crash on string literal with character code >= 128
39287d734 rework compile-time known pointer values
12049aa43 zig logo in readme
92ffcc84a remove the depends_on_compile_var code
fc100d7b3 lots of miscellaneous things all in one big commit
8a859afd5 std.io supports printing integers as hex values
92793252a inline assembly allows clobbers with no input
916a96fb7 and memset all get alignment, memcpy, variables
573f3f8d4 coldcc works better
07a71fc32 improved behavior on debug safety crash
28f63b8a4 fix volatile not respected for storing through a struct pointer
d26bb3ae2 fix assigning to const ptr through struct or index
7749ffd79 try expression can omit variable assignments
b9c943b06 tell LLVM the target sub arch type
0c88b1ce7 use printf in test runner code
135c021c8 delete unneeded IR code and fix assigning to const ptr
025051885 fix volatile not respected for loads
d151c5878 all functions are nounwind because zig does not support exceptions
52eec6b9a `%=` in inline assembly survives optimization
6f316d8eb setGlobalSection and setGlobalAlign work for functions
d2f1f57fa even external functions which provide definitions get nounwind
74d41ce44 infer hard float from target environments that imply it
e56f90352 memset and memcpy implementations need not return dest
64a051020 inline assembly supports `%=` syntax
b840184bb memcpy and memset builtins support volatile pointers
419e75eb2 remove volatileStore builtin; add volatile pointers
0d7abc636 add compile error when setting non power of 2 alignment
0919ea0af ability to set global variable alignment and ...
67b02326f preserve names of exported variables
d3f188995 assume gnu binutils, in freestanding environment
5a86c0499 add volatileStore() builtin function
8c9016b6d add setGlobalAlign and setGlobalSection builtin functions
3be4b6434 add ability to set linker script
e00eec1c2 typedefs work for binary math operations
aae168550 exported global variables get emitted as external in LLVM
71d335e5c implement packed structs
cd7713b17 make --target-os freestanding work
0cf0739b0 update outdated comment
c0b37e851 add try expression
8b1c6d8b7 fix ability to call method on variable at compile time
2b8844129 fix behavior when initializing struct with undefined
b78c91951 remove ability to mark if and switch as inline
cd08c1f3b prefix op maybe and error are for types only
4df1a9b25 document setDebugSafety builtin function
d13cec689 fix var args allocating wrong amount of memory in compiler
88a253c64 fix crash when passing void to var args function
b258fdb53 add integer literal to pointer explicit cast
eb00aa21f readme update
d8da34c64 fix crash when assigning too large value to integer
d2b94afaf fix compile time initialization of array with undefined
3caf6bacd fix sometimes using wrong outer scope for generating defers
c75e58ffe fix behavior for comptime and runtime basic block phi
e0a422ae7 fix runtime branching tricking the comptime evaluation
34a4d7a20 update cat example code
4b3f18de3 printf var args proof of concept
32d8686da various fixes
17cb85dfb basic support for functions with variable length arguments
1826a9616 update charToDigit to take advantage of switch syntax
0b34439c1 mem.free no longer requires explicit type argument
e5b175801 remove staticEval builtin in favor of comptime expression
201a3c121 introduce comptime expression
47cf8520a use comptime instead of inline for var and params
6a5e61acd get rid of zeroes literal
ab8b14aa9 add test for compile error returning from defer expression
cf3b9f4f5 add test for compile time bool not operator
0caee421e ability to equality compare with null
867686af4 equality comparison of void types is known at compile time
fdbc2d8da implement error when assigning to field of const struct
98faf4f74 add test for short-circuit AND and OR assignment
c715309bc Merge branch 'master' into ir-merge
4cbeb87e8 fix handling of const values for 2d arrays
c7591736b fix array of enums. also render debug info for const vars
3752e0c29 fix get_maybe_type not ensuring complete child type
d0b59f20a fix llvm assertion failure for zero bits structs
0b6cf0aa6 fix handling of invalid enumeration
8106f9846 fix enum codegen and implement comptime switch var on enums
0c1800a9c fix some stuff when llvm has assertions on
83f1a6fae fix some bugs with structs
652bfab3d fix crash when casting fn call arg
c793c534b fix use decl regression
18f248b94 IR: fix array concatenation
d78470535 IR: implement macro for function aliasing function pointer
76b1cbc2e pass some parseh tests
25a670d74 pass more tests
de9ecaf96 fix some tests
fc53708dc better error message for unable to eval const expr
7493af595 fix a few tests
fde276a3b IR: implement error for missing or extra switch prongs
430e33b86 partially fix parseh command
8d27a0270 pass division by zero test
6caf32195 pass unnecessary if statement test
76d0e49e6 fix unable to eval const expr test case
e4bc8d22c fix some tests
3ef447fa2 don't try to eval extern functions at compile time
6b36aef30 pass conflicting variable name test
090ff0505 add compile error for initializing struct with non struct type
cf62f02ba don't mark call instruction as generated
23feafdef pass more tests
28403eaad pass more tests by updating expected error messages
837cc467f pass array access compile error tests
e621ad014 pass cannot assign to constant test
97e105489 fix compiler rt
ed21be011 pass unreachable variable test
438feebbc pass undeclared identifier test
3b5e26b7f self hosted tests import std library
ee09eb7f5 fix hash map implementation
9d94c2ccd fix mul and sub overflow ops being rendered as addition
349cd79fe containers created during eval get names for parameters
27a633b32 fix mem.sliceAsInt regression
6ec6589bd IR: pass MT19937_64 test
c32a060d4 IR: add unreachable code compiler error
664b41af6 fix debug information for function pointers in structs
dbb1018ca IR: std library passes codegen
ff5120c58 IR: std makes it to codegen
69132bded IR: progress toward compiling standard library
5f89393ac IR: implement binary not instruction
2ccdaee10 IR: add error for goto jumping over variable declaration
76fa6cdce eradicate use of zeroes in std
29bb175f4 IR: handle phi instruction with 0 resulting incoming values
6bbee194b IR: better basic block dependency detection
a9acc8cb4 IR: error for returning from defer expression
dc26dec8e rename self_hosted3 to self_hosted
94f977a6c IR: pass genericFnWithImplicitCast test
f6ac2fa70 IR: pass pointerToVoidReturnType test
25a5fc32f IR: pass passSliceOfEmptyStructToFn test
15f843e70 IR: pass castSliceToU8Slice test
66a83d873 IR: pass intToEnum test
c8a7ab7ef IR: pass cStringConcatenation test
7504be923 IR: pass pointerComparison test
735cdbfda IR: pass intToPtrCast test
aee7ad3de IR: port all passing tests over
73a751911 IR: pass staticEvalListInit test
6ed835ca6 IR: port more tests
3ef6663b7 IR: pass genericMallocFree test
110a6f39c IR: pass explicitCastMaybePointers test
6c9ec3688 IR testing: rename cases3 dir to cases
66777ccd7 IR: port more tests
4664f793d IR: pass enumToInt test
1b5d1877a IR: port more tests
2b5c7b1b8 IR: port more tests
f47dea2a2 IR: support compile time global pointer reinterpret
6f91fb4c3 IR: support const ref
8dc45bc50 port more tests
ba8af0f1e IR: fix missing implicit casts in init expressions
ed962d9d2 IR: port another test
3e25ff65c IR: fix switch enum variable for void enum field
dab3ddab4 IR: port more tests
5a7171875 IR: port more tests
5fc95c2a5 IR: port some tests
46033a212 pass void parameters test
23bebdbcd IR: port some tests
56cc2e2b2 migrate all the temporary tests to new test file
d544672ed IR: fix compile time evaluation of else prong in switch
b55efe5fa update more std library to new zig
43be6ccb0 IR: fix phi instruction when one of the predecessors is unreachable
b4c2f7e31 get_error_type calls ensure_complete_type on child
9b6168203 IR: implement runtime enum init and switch on enum with variable
1f6dacbb2 IR: enum init support
c10ae8622 IR: fix lazy eval of enum field access
3ea4f264f IR: update all error messages to be useful if generic instantiation
2419f0c91 IR: support maybe defers
09d50e35a IR: support error defers
14422e031 organize tests
6b2d06710 IR: start a new passing self hosted test suite
09c34352f IR: if and switch guaranteed compile time if target expr is
956ff8a7f better error message generic instantiations
132e2fa5d errors from inline fn calls include stack trace
cfc9f7422 IR: add MaybeOkOr instruction
82101198f workaround for Arch being a primitive type
a71fbe49c IR: add FnProto instruction
f12fbce0f IR: memoize compile-time evaluated fn invocations
4816121e0 remove duplicate definition of container_string
ba008fb9d IR: ability to return a container from a function
37b13bf15 hello.zig working with all structs anonymous
e50ced44a IR: all structs anonymous
2e6aa6d81 IR: fix codegen of ref instruction
a76b04835 IR: phi instruction handles unreachable values correctly
b59841a80 IR: fix err variable in ErrOkOr instruction
0cdfd5c14 IR: fix container field access via container pointer
0d2f2b79e IR: basic support for implicit casting to const pointer
69cf0ea56 IR: fix type of decls accessed via namespace
3e4194bf9 IR: add runime negation
05b3b6a45 IR: update some std code to newest zig
83a668b9c IR: unreachable has lowest priority when resolving peer types
9f08bfb38 IR: make generic function type have zero_bits flag
85b6d1463 IR: support var type args and fix phi peer type resolution
e73faf9a9 IR: allow undefined compile time values sometimes
d245fabb8 IR: consolidate Ref and PrefixOpAddressOf instructions
0f047337a IR: fix `this` expression
a07d7ee53 IR: fix compile time switch eval for enums
c64f9991d IR: fix switching on enum
12fcbecbf IR: add more instructions
3a3cc7bf7 IR: panic with a TODO instead of generating invalid code
cca49b84b fix external function calls
647d13168 IR: implement maybe return expression
3f3630d7e IR: implement the rest of the builtin functions
8bb5f54b2 IR: implement character literal
a6d2bdf60 IR: implement breakpoint builtin
76a849b1f IR: implement memberCount builtin
ef63bc9cc IR: implement memcpy, and slice expression, memset
fb2157063 IR: implement alloca builtin
a963fba24 IR: implement compile time array concatenation
df0cdceff IR: implement compile time array multiplication
9b17c0ff7 IR: implement intType builtin
3429639e8 IR: implement truncate builtin
433c17aeb IR: implement divExact builtin
8fcb1a141 IR: implement fence and cmpxchg builtins
10cea15cc IR: implement embedFile builtin
2dd85d52c IR: fix implementation of parseh
3cfbec3ee IR: don't crash if number literal used with pure error
6feae8a4e IR: support error union type
443e14afb IR: fix errorName builtin
0ab953acb IR: better array len instruction
d4a93dbac IR: omit debug safety checks in for loop codegen
7d0fb281f IR: a bunch of fixes and some additions
a148096e6 IR: add compileError builtin fn
0ad580f00 IR: add minValue, and negation, maxValue
5e4ee659a delete unused builtin function stuff
c0b2fe4d6 IR: add error for assigning runtime value to inline var
7d9fa01ed IR: implement compile time eval unwrap maybe
6ed202ab1 IR: implement defer
0c531d447 remove the boolean argument from setFnTest
bed83bc5a IR: implement short circuit bool or, and
24048b2af IR: implement break and continue
0541532ed IR: implement generic function calls
363606d87 IR: inline function evaluation works on generic functions
25a89e7a3 IR: compile time function evaluation
9f23475b1 add missing copyright notices
2f259b817 IR: re-organize where state goes to prepare for generics
f6cbb73c7 rewrite scope implementation
c6ace9720 rename BlockContext to Scope
eb5693d91 IR: function call porting progress
9e7c47597 IR: silence irrelevant function prototype errors
e5325c7ef IR: fix not checking for error in unary bool not
d9329ed38 IR: add ref instruction
bd4d4ee51 IR: detect error for exceeding branch quota
1fba7f369 IR: add inline goto
b3ff28189 IR: fix crash when duplicate label error
a52ede649 IR: support goto and labels
a3db60b5d IR: fix parsing while loop
84f780502 IR: support import builtin function
4619b5de0 IR: support inline switch
24b65e41e IR: add error for non static const on switch case range
697c76873 IR: support switch with range
bbf785bc1 IR: switch expression works with numbers
0c22358cc IR: generating a switch statement
a2257e4b8 IR: implement setFnVisible builtin
052cd4458 IR: fix codegen for arrays
e80e8a809 IR: fix detection of invalid codegen
67d565136 IR: implement ctz and clz builtins
71d95c659 IR: support unwrap maybe operation
b47e2fa06 IR: support sizeOf builtin
6c8b919d1 IR: implement ir_print for maybe type
2f8dd4617 IR: error for uncasted null lit variable
8a81f8aa1 IR: implement compileVar builtin and more
19037014e IR: more maybe type support
31565efe9 IR: fix decl references pointerness
d94cb0566 IR: correctly codegening memset and memcpy
bf7cde62c IR: support setDebugSafety builtin function
ed31ae886 IR: inline assembly working
c3b603fdf remove AST cloning code and add AST render for while loops
7a2a0672b IR: pointers to constants use correct addresses
62d0d88b5 IR: pointers to constants don't copy data
a55555c99 remove superseded eval code
8d1c6138f IR: implement pointer dereferencing (even at compile time
af4d4c882 IR: implement compile time array access
2edc6c1a3 IR: add assembly instruction
04c047463 IR: fix hang for unreachable functions
e2fd3b2b1 IR: fix prefix op eval setting wrong type
d4f2394dc IR handles global variables correctly
a5c9da0de IR: gen string literal
9d19b8d66 IR: move unused codegen code to commented out in bottom of ir.cpp
1e0b49327 Merge pull request #209 from stereosteve/sort
b8379b4c5 IR: support pointer types
05de70017 IR: support slice types
a2e329393 WIP moving all analysis to IR
bc6c33b1b IR: support this literal and bool literal
c8333d0cc add concept of inline for, inline var, inline while
4b55966a1 add sort to CMakeLists + std/index
cf00245bf sort requires compare function.
e761aa2d2 sortCmp allows for a custom cmp function
c5b2bdae1 quicksort
1a0111d4c *WIP*
56cdaff9e ir: support return expression
afc5507b6 ir: ability to modify global vars
e4271f4fb change 'got' to 'found' in errors, more test coverage
e3857a361 more test coverage
8e2804efa IR: ability to assign to an array at runtime
114049a22 IR analysis unrolls a complicated loop
78e631442 IR: phi instruction works at compile time
bfcd6648e IR can inline loops
c98207715 Merge pull request #206 from fsaintjacques/fix/doc-langref
44d6f8ffd IR supports variable assignment
d7a2b05a8 IR: introduce concept of lvalues
c2710283b capitalize builtins in doc
a9a6f77a1 add variable declaration initialization IR
682511d1b add variable declaration IR
ac6d1674e IR working for if statements
ce3c52471 IR if statements WIP
77ae3442e explicit casting works with IR
07fe60ded IR in 2 passes
a098c07aa fix warning on some compiler versions
cd1bd78aa simple add function works with IR
633781e31 empty function compiles successfully with IR
4e2fa2d15 *WIP*
0562111b0 fix regression: debug safety sometimes incorrectly disabled
b581da41f remove compiler directives
e5fd8efcb clean up test directory
183976b24 add this keyword refers to thing in immediate scope
f4d7c9136 std/rand: remove unneeded TODO
87b7c28c9 cstr.len and cstr.cmp can run at compile time
7ce7e2c9d emit error for extern function
7f4d4bdb3 fix crash when doing binary not on integer literal
4b68224c6 add error message for method call on non method
01e13de7c refactor field access code into more generic container code
683da0e4e ability to have struct to have a field which is slice of itself
e06885d64 enums support member functions
9ec6a78f1 fix compiler crash for misspelled type with pointer only reference
46eb77dbb stack trace is able to figure out compilation unit
4b902b44a os: fix file descriptor leak in os_exec
c64f6f950 fix compile crash when leaving out for loop parameter
7aeca9bfe fix incorrect linking from previous commit
3f8f0b9bb exporting an object creates an h file
b97bfc3ec fix error when switch prong has implicit cast
158225a20 avoid emitting "no member" errors when use import fails
e397ea43c tests: correct test name
3239b3cb6 use size_t for indexes
4c0259b10 ability to specify -framework linker args for MacOS
b738cbdc7 fix compiler crash involving slice with const slice child
3f05fdc8e tests: use a more robust path to self_hosted.zig
c65fe384d Merge branch 'macos-aindigo'
f1761632d darwin compat fixups
cf9b21c09 MacOSX compatibility
06f2f4d64 change `unreachable{}` to `@unreachable()`
ea2f6594c std: fix compile error for unsupported os
6abd8b640 fix crash with []type{} expression
56f832579 add compile error for assigning through const
28811234b fix compile error message for wrong arg count on method
1fa4d2a5a rename LLVMZig to ZigLLVM
077cd4b9a langref: correct builtin function names
9e92dbdd0 std: use parameter type inference on min and max functions
100990b05 Merge pull request #187 from procedural/c-pointer-fix
1cf75db90 Fix for C pointer generator
fc9ff13fb std: avoid calling close twice in InStream
d324b1bef ability to infer parameter types
de7e88c38 build: remove -Wmissing-prototypes
1a1991371 build: add missing static in tokenizer
9dc9e5bfb build: fix warning on gcc 6.2
64034a3d1 maxValue and minValue builtins return number literal
cfaced3f7 rename errName builtin to errorName
768a9780c rename compileErr builtin to compileError
f2a5fe443 README: clarify build vs runtime dependencies
e8e2d8468 Merge branch 'llvm-3.9'
4979e606c fix gcc 5.4.0compile errors
a31eb977b Merge pull request #186 from winksaville/master
92cebdb92 Fix email address of Email list
d2a6c2b26 Merge pull request #185 from winksaville/master
5068716a9 Add Email list
20eb749ad generate debug info for global constants
4e7effd3d port to llvm 3.9
f18e34c2c restore shared library functionality
320e26590 fix std io input to work for non seekable fds
289bfa890 fix c hello world example
9193a3cda stronger static eval recursive test
d44ca5baa tokenizer: add missing return statement on float overflow
6e6d138c2 add ability to explicitly cast enum with no payload to int
651dc3124 implement null as a literal type
1f7ec741f implement `?return` expression
6149f7318 std: more progress toward stack printing
ed50bd1b6 progress toward stack trace printing
0fbb9e09e fix crash when calling method on slice
a2ac06dcd std: replace print_u64/i64 with printInt
37d167f6e std: conform to style guidelines
0ae902383 add CBuf to standard library
0a482bbbf add style guide
2ed949a6a add zeroes value
0d5ecc431 ability to have a return type of 'type'
275410dc3 implement multiline C string syntax
d0b11af2b new multiline string syntax
0450b73e3 std: add tests for mt32 and mt64
711e3d71b std: add vaporware plans for floating point builtins
1fa0cabf9 remove multiline comments
8552d7fd1 explicit wrapping integer operations
3eb5afd24 std: cleanup of rand
06c4b35eb std: improve rand implementation and API
bc81ddfea unsigned integers for sizes of things
76f87cdd9 std: add OutStream.write_byte
78d4fb20c inline parameters
425c0ffa0 rename NodeTypeStructDecl to NodeTypeContainerDecl
3971bf3d7 fix not resolving use declarations
f2fc9b8a7 fix duplicate type defined when imported from parseh
49a4b1b93 ability to cast explicitly from int to enum
a5251a1c1 parseh: support octal in C macro string literal
100e8e15f fix tokenizing string symbols with hex characters in them
b08bc84a3 don't add no-frame-pointer-elim for inline functions
762e686d1 inline assembly: allow empty output list
39016c1d3 fix offset map for inline assembly error messages
f6b16c99b fix raw string literal crash
3273e99d7 linux: accept calls accept4 with 0 for flags
da8e30fe4 add some docs about builtin functions
fbb6d1d7e support extern C ABI for return types
7edef4f3f add beginning of print stack trace function
2c710382a fix crash when error evaluating target of for expr
3df938921 compiler-rt: add __aeabi_uldivmod
7b0052abb Add unsigned and signed generic print fns
9813ae858 add bit_count, is_signed fields to int types, is_wrapping
6ff996f60 add int_type builtin function
50310cf9d add 64 bit division test
7f90dbbb1 switch on compile var marks entire namespaces
6ae6b5f5b add compile_err builtin
76f909ede std: take advantage of ability to cast maybe pointer to isize
33e3d5645 add error for wrong return type of main
65e0e8568 update README with website
6a7f3c8df std: make parsing an unsigned number generic
b68aee4f3 we have generics now
5d2f86116 std: fix linux.get_errno
8e3ab28be ability to cast maybe pointer to isize/usize
774ec1f88 Merge pull request #152 from jmi2k/zig-std-dir
b7b864e5e For the sake of correctness: we can always rely on ZIG_STD_DIR
a1817f462 Add --zig-std-dir
1eafc85f1 add readonly attribute to relevant functions and parameters
26718a619 recognize ar program and pass --gc-sections to ld
6b7ffd4cb builtin: use explicit type instead of typeof function
22888ca52 some work in progress networking code
d92ae20f4 add hashmap to standard library
f1e5be968 fix ability to use previous generic params and
745c325d0 support variable declarations in structs
56908dcb9 add debug safety for shortening casts
9e905ab36 not-yet-working implementation of generic hash map
0c32b0b4a add list implementation to standard library
18ed87c69 ability to cast u8 slice to bigger slice
aed96e351 fix null literal outside function
404defd99 add div_exact builtin fn
eb83111f0 add debug safety for division
9d2967471 ability to cast slice to u8 slice
9e0165147 generic args available to member functions
2ed72022c support generic data structures
01c46eef3 std: separate str and cstr
6f0f357ee self hosted tests test release mode too
8c79438f6 better array concatenation semantics
d5d5fd928 link: don't put -l in front of .a or .so files
c098a8f52 add frame_address and return_address builtins
271a37b41 implicit wrap widening cast on integer peer types
6131b3716 fix eval integer wrapping and add tests
9db45ac36 add shl_with_overflow builtin function
100802cdc add debug safety for left shifting
0c9692017 add tests for integer wrapping
b8d17b11a add tests for integer overflow crashing
094336f07 add integer wrapping
dedde0d79 add fence builtin function
c95e49785 add cmpxchg builtin function
f2bc5ccbc more networking standard library code
66ed7a5eb beginnings of network standard library code
7f589c0ca support maybe destructuring into a pointer variable
9ccd0ba96 implement string escapes
037283c3b build: link against libLLVM.so if available
d908afe10 add array multiplication operator
46b0b84b9 ability to specify body of an extern function
a299de226 better alignment value for stack variables
4815c03ca better parameter codegen
09042f1b0 add missing debug entry for breakpoint
8ec109de3 ability to compare booleans
d1fa5692c add array bounds checking in debug mode
61e6c49bc vim syntax: single-line strings must be contained in a single line
d0378057d support switching on error union type
d1b65c6f4 fix ability to parse character literals
3886fdc19 rename unknown_size_array to slice
8583fd7f9 add codegen for pointer comparison
8ad75a9bf add compile error for invalid equality operator uses
46ab98178 add skeleton for union support
4961910e7 cat example: fix not flushing stderr
899fb14c3 fix handling of slice of zero bits type
55b28ab03 fix returning empty struct from function
da406cb11 build: add test coverage target
97fae8cc8 fix vim syntax highlighting for multiline strings
4a7911e3e fix gcc build errors
66163692a parseh: support anonymous enums and enums with initializers
8187396f6 add syntax to allow symbols to have arbitrary strings as names
35362f813 better parsing of C macros
a380b803a ability to use a struct with no fields
ae600d2f7 fix undeclared identifier not marking function as impure
6acc35495 for loop: add ability to get pointer to elem var
a25307c0a add optional continue expression to while loop
04364c45c fix casting with imported symbol not working
36c6acfc7 enum init uses container init syntax instead of fn call
7a7f83033 add test for public enums
4e37fb2fa implement constant initialization of enum values
9658c05fd std: remove broken windows random implementation
ff1ab3fe9 fix crash in non-const expression in struct literal outside fn
f4c7e1bf4 rearrange standard library a bit
5e3317551 add @embed_file builtin function
832454f38 move 2 tests to self hosted land
c899368a9 update readme
1688ccb3d update README
7f56e4ac1 move more tests to self-hosted land
579856e50 Merge branch 'eval'
fcedc3555 fix crash with generic function and implicit cast
83a59c4d0 fix evaluating generic functions in wrong context
3f9632bb4 eval: support array literals
3c27cb252 more eval tests and fix eval call analyze code
69109bc27 add error for dividing by zero in static function evaluation
be4df96e4 passing all tests
e5df780e8 work around issue #137
a7d496dd0 undertake lots more of inflate.zig
2b706868b better test case for inflate
432b47ed1 progress toward first zlib test passing
73b2cf474 fwiw, test calling inflate
f11998957 getting started on the inflate() function
d7a20e876 start porting inflate.c to zig
d003703e4 move stuff around
e0e7903da adler32 implementation
aa89fd3b3 eval: ability to eval more things
fa605485e eval: support more node types
a177e3053 compile-time function evaluation of pure functions
5a479720e add error for unable to infer expression type in if statements
954a451c5 unsigned ints implicitly cast to signed ints when they fit
4a3bce4b6 move some tests into self hosted
b117b5907 add error for accessing empty array
0683bd8bf fix crash when casting undefined to slice
fddfc314d update readme
e66ed0f2e add error for assigning null to non-nullable pointer
707131e37 goto: jumping out of scope runs defers
7eb6af1d3 add @breakpoint(
21eca6478 re-introduce goto
fdf6a1846 fix cat example by flushing stdout at end
7026bed46 fix debug symbols regression after llvm 3.8.0
7a05e18ef implement @err_name builtin function
d5d6c93da fix parsing of hex literal 0xb
73c814e5c support hex escapes in string literals
491e3cb5c fix crash when passing empty string to function
4ce85ea06 fix gcc compile error
5dbc21b51 refactor std, update cat example
f6edba4a8 fix gcc compile errors
28ad4e6d8 fix segfault in generic functions
3b535d2c3 fix evaluating generic function instance in wrong context
ee22e8729 generic functions use correct type for generic args
1d4c66b56 support multiple generic function instances
57688dea3 add error for gt and lt comparison of invalid types
7bb67b1fd ability to compare function pointers at compile time
22ef416d4 fix generics not using ast clone
67152f729 support simple generic functions
e144ddab2 add multiline string literal
5bae9ba08 README: update dependencies
76e154180 update to llvm 3.8.0
17a36859e build: std files each specify install destination
f72c36cd3 fix detection of @import and @c_import inside fn body
5df091fea c_void is provided outside of C imports
660a50661 better hash table performance
9c3d7b628 rename syscall.zig to linux.zig
1d08ab087 fix comparison of unsigned integers error
f1d338194 rewrite how importing works
28fe994a1 Merge pull request #129 from notkild/master
8a827fafa Add support to open, create and close file
0a0494feb fix build error with signed/unsigned
e5982e444 link: on windows link test runner and builtin o files
04cc59be6 update run_tests to work on windows
a7b6fa5be os: implement windows os layer
06398a22d back to normal print specifiers
bb806f941 use PRIuMAX instead of PRIu64 for mingw
679354886 fix 64 bit integer printing for mingw
58c13aa94 rename 'environ' to 'env_type'
afa5d1ea1 os: fix ability to compile for windows
194e93a58 add windows os code
0e92b4404 prepend underscore to non exported functions
77ffb5075 update bootstrap to work for macos too
91101f08c linking on darwin: provide builtins and -arch
4c30216d1 add missing system library to darwin linker job
984e7d6cc first pass at linking on macos
f580c7fa4 handle libc include path and libc lib path differently
c6bf9c694 MacOS has the same int sizes as Linux
3664e8e4e use llvm-config to find llvm include dirs
fecbc91a6 update readme
baf889c87 parseh: fix __cdecl causing a fn ptr to be double ptr
87922bfae parseh: ZIG_PARSEH_CFLAGS -> ZIG_NATIVE_PARSEH_CFLAGS
fb8700de6 parseh: support attributed types
5032854ae parseh: more specific warning for different calling conventions
5771bd805 respect link order in source code
1141e4f5b don't emit undefined identifier errors, if any c imports fail
01fda6199 dummy implementation of os_get_random_bytes for windows
1d3c25e92 fix some c header symbol collisions
fe95a227c add windows C int sizes
03b51a753 a = b % c uses the types of b and c instead of a
8d510c699 parseh: fix branching on undefined memory
c8376af92 @clz and compiler_rt implementation, add @ctz
a5aeb7381 if statement children nodes know if they're compiled out
b8a1cb299 avoid codegening functions never called from conditional compilation
9bf9be993 fix build on GCC
4e3f6de02 c integer size takes into account architecture and OS
7828456b3 std: delete malloc and free
592210a17 i386 support
0c1ce21f7 add @compile_var("environ"
51b2621e6 Merge pull request #126 from srgpqt/master
633b01de2 fix undefined LONG_LONG_MAX compilation error
2dc4ac0e2 add @compile_var("os") and @compile_var("arch"
08eb19456 add compile error for missing enumeration value in switch
a18016887 fix division by 0 crashing compiler
2bf6c28bc ability to cross compile
54a8b6a11 cleanup target data organization
b64260469 targets command shows which ones are native
1ff2edf67 abis, add "targets" command to list architectures, oses
b98801754 add link to intro in readme
aa504275f don't create debug type for void arrays
0c7f33456 minor readme rewording
d8f6388b6 if statements can be const expr evaluated
f45c37466 fix -dynamic-linker arg to ld when not overridden
5bdcdd166 @const_eval returns poison value for type when it fails
207862647 std: fix parse_u64 implementation and add test
1d92700d0 fix build with GCC
e18170ee0 support overriding the dynamic linker argument to ld
62a689f7f fix some of the ubuntu build trouble
430d0dfcb support static linking against libc
ea3bd5856 add link to tetris example
96e7deadd parseh: tiny performance improvement
87cdbb6c2 improve performance for get_fn_type
6b3ce918d array.len generates a constant number literal expression
42fe4e3cc remove ptr field access of arrays
36cf9f0c7 error for non const expr in array size outside fn
26ea20d88 implement @const_eval
049e9e581 add debug info for loop variables
94ed9f622 blocks with one statement pass constant expression eval
694cfff23 fix a bogus call to bignum_normalize causing assertion failure
7b00ed362 fix debug type of ptr and len fields of slices
642b38a57 add debug info for slices
7f6b0ba6e ability to explicitly cast maybe pointers to each other
417413410 unreachable return type can cast to any other return type
fc3109651 parseh: fix not properly demoting structs to typedefs
f19fa590e parseh understands simple string literal macros
4c8f26e9f std: remove auto flushing of stderr. use printf
c7dc56f73 add test for ?? return and add const expr eval for ? prefix op
c4f5a0025 rhs of ?? and %% can be any expression
73727bd1c parser recognizes %return in a prefix op expression
65a03c585 implement %defer and ?defer
34a7e6fdb codegen: return respects unconditional defer
ec33e5a63 simple unconditional defer support
6a2ede5a6 parsing code for defer and more
4339d5556 update for loop syntax
4208435f6 add nonnull to functions with pointer return type
db3b51763 Merge branch 'realazthat-nonnull-branch'
2ee80858b codegen: use gen_index for nonnull attribute
54fbe7560 Added code for generating nonnull attributes
ff5673ae1 add rand.float32 to standard library
15fe3c423 fix explicit casting from integer literal to float
5f0a9a569 another planned feature complete
663a1d0cd switch trap in debug mode when no prong found
093e0d1bb support variable in switch expression prongs
a4cba900e no namespace required when switching on enum
5490f907f switch statements resolve peer compatibility
fcbeaddbb codegen: fix switch expressions for enums with payloads
b87d0abef fix debug info for bool type
25e74cb38 ability to explicitly cast bool to int
32642ac9c for loop supports break and continue
fdadab40c implement constant values for enums with payload
3a9009b08 fix crash when initializing struct if field is invalid
bb4a53278 move os_get_random_bytes to os.zig
1f9734d1e allow defining errors with the same name
a6d433521 fix running tests when linking with libc
2521afef6 add ability to call function pointer field
5c310f434 skip analyzing parameters of invalid function call
c3123158b fix handling of implicit casts in binary operators
39223c184 test runner prints test names
11a064436 basic support for building a test target
afdb47c32 fix debug symbols for byval arguments
815d9a799 fix debug info for arrays being 1 element too short
f2fe231dd add @compile_var("is_release"
b28f7d080 types sized and aligned with LLVM target data layout API
b04e64d30 add @compile_var builtin and "is_big_endian" compile var
a50474e7c fix false positive error with same named methods in incomplete struct
d3de73739 fix various semantic analyzer crashes
8058b5e0a fix crash when incomplete struct used as argument
79adf5569 fx segfault with colliding bogus top level functions
7af59c76e build: fix libc path finding
5824b1524 codegen: ?? prefix operator causes trap in debug mode
5ad84e472 unreachable causes a trap in debug mode
6f1a7a0d7 add abort function and "cold" fn attribute
fc5ffd32e build: prefer llvm-config
021629343 add test for var local eval const expr
d8d0f6565 codegen: avoid table lookup for field access
a2035eefb codegen: avoid table lookup in assembly expression
74eaf4376 codegen: avoid a table lookup
0b94c83de remove the constructor of hash map
06f6acb4b inline is a keyword instead of a directive
122b7b996 c_import top level decl supports pub
c7eb8aaec build: fix release mode
108af28c1 optimization: avoid codegening unused functions
179443bd6 add ?? prefix operator
b3459f64e parseh understands macros which alias global fn ptr vars
6b2e29c6a parseh: do not create macro alias for extern vars
c1b5518a6 roadmap item acheived enough to put in README
2e092e08f fix invalid const expr eval for negative floats
675de7441 codegen: fix negation for floats
a4e19f94f support casting between floats
e74a7264a support casting between int and float types
954afe5d9 fix C interaction with maybe function pointers
f20d0665b typedecl top level decls respect pub
0ac714f0d add --library-path cli option
41b95cc23 parseh: correct debug for forward decls
773cd851f parser: fix parsing of type decls
105317285 parseh handles typedef void better
c77637d17 parseh understands forward struct definitions
c1640a924 parseh: use the decayed type not original type
4c1f0f02d fix some parseh crashes
80a4898e4 delete bogus --help text
55c9ae119 codegen extern global variables correctly
3c2093fec parseh understands types better and handles some situations better
436e35516 parseh properly ignores anonymous structs
e4b043594 parseh understands variable declarations
580df2f53 Merge pull request #102 from MovingtoMars/float_print
2e39d9881 parseh fix crash
a94ad9e89 parseh defines can reference other defines
c1691afdd parseh understands number literal defines
3fd6c0ce2 fix some inaccuracy in float printing
a6c2b013f remove some magic numbers from float printing
850f6d2d0 better f64_is_nan
90a32629c float printing mostly works
9b2ed1fac parseh understands simple character literal macro
923e78785 attempt to get preprocessor entities from libclang
650fdded2 fix incorrect loading of files over 8192 bytes
53c14da22 parseh understands bodyless struct used in fn
c3516b800 parseh handles self referential structs and fn pointers
a5c2de5fe ability to specify function type
2bb2e61ee parser: allow missing fn name and missing param names
ff028525e add test for calling the result of if-else expr
d0a1901cb fix function calling of pointers
974d69ea3 ability to call member functions directly
bb4f78352 ability to refer to member function directly
13220ccb5 parsh understands constant sized arrays
ed3117a77 parseh understands elaborated structs and enums
47c3a3031 parseh understands simple structs
a09b50555 null pointer optimization for ?&T
2fc4b3629 std: remove incorrect float printing code
347866f3a add parseh test for multiple fn prototypes
6f85b956d add restrict -> noalias parseh test
f1c5d3d3a add parseh tests
474340a00 parseh recognizes C enums
137bb51e2 parseh: add --c-import-warnings option
3f0062d7a Merge pull request #100 from MovingtoMars/float_print
eb08fd5f5 remove accidental printf from float printing
fb7a95b3c cleanup float printing
dc0841289 basic float printing
97c61313d c_import of stdio.h works for some functions
51ab9b03c Merge remote-tracking branch 'origin/master'
b6354ddd5 move AST rendering code to separate file
e3cc0c257 Merge pull request #96 from MovingtoMars/master
401a3361e malloc fails on mmap error code properly
c28153363 build command supports -isystem argument
69d4f55fb parseh: still produce output when not all types are known
7ae6c2f33 fix stdio duplicately defining va_list
9c502030a check mmap return against -1
04b721d53 malloc fails on proper errors
1a913f6bf simple malloc and free using mmap
d1ac1abd3 parseh correctly handles C's void type
75cab48c1 parseh: recognize typedef types
b50844185 fix `%%` prefix operator codegen for simple values
0a2658672 fix comparing incompatible number literals crash
707154da3 fix codegen for pointers to void
261517aa4 add explicit cast from isize/usize to pointer
e809baa86 remove bogus example code
d27b76fc3 add error for `@typeof` or `&` of number literal
fe0c6a3df fix crash when compiling empty file
fa1ea6062 parseh works for simple functions
027846847 upgrade to the libclang C++ API
ac085a869 docs: update deps to llvm and clang 3.7.1
a73453a26 add c_import top level decl
5afe473a8 different extern syntax and simplify parsing top level decls
bc8961499 update README
4e4397341 variable initializations are now mandatory
b215a3e0b add constant expression evaluation for negation
a37bb4a4d add the C integer types
01428d4a7 analyze: fix crash when return type is invalid
a3e288ab5 implement compile time string concatenation
1d6815024 compiler enforces checking for error
50854226a no more =>, syntax: back to -> for return type
fb85d3a0a codegen: get rid of cur_block_context
deb358688 implement %% prefix operator
c0dc0ca6c update README
e85e7ebcf bootstrap: use %% operator instead of cast
4b9e1dd43 fix tests and add %% operator test
6db6609df implement %% operator
bcb18338c update std lib to use error type and global variables
29a83f648 support the `%return` expression
f5cc7f65a fix parameter access of sret functions
419652ee8 ability to return structs byvalue from functions
ca7b85b32 fix number literal implicit cast
5c1882624 introduce the error keyword and type
37aae5300 various small cleanups
706f72f1b fix hang when returning from while loop
c0ea9290c main returns %void
91d911007 codegen: fix field access of arrays
a922d5d42 implement literal error values
1543043bf fix no error emitted for redeclaring global var
bfceb1863 character literal returns a number literal
e269caae0 implement undefined literal
0e51c16ef add undefined literal
523e3b86a support statically initialized array literal
21fc5a640 un-special case constant global strings
1158bc3ea support statically initialized structs
7bd9c8238 add compile error for non constant expr global
72fa03bad add undefined reserved word
b61406b60 add test for const number literal
272fe1c54 implicit casts rewrite the AST
b09a0cd07 allow constants to have number literal values
32e219625 number literal rework
5e212db29 parsing error value decls and error value literals
82d1b51b1 doc: remove string keyword from vim syntax highlighting
961adc090 Merge branch 'master' of github.com:andrewrk/zig
ad9759bc8 basic support for switch expression
f0f56a4a9 Merge pull request #80 from MovingtoMars/value_count_rename
361531891 rename value_count to member_count
ebd8e2d60 Merge pull request #78 from MovingtoMars/master
26b9d709a start working on lang spec
3eca42c17 cmake: detect libLLVM.so
c17309dbc add switch statement support to parser
17e574fec add switch statement to language reference
890714b8c Revert "delete parseh"
ae2151a75 use signed integer for sizes of things
92dccde2f revise plan for cat example
ea21d2beb add error for shadowing a type
32821e709 add function pointer support
3a326d500 pave the road for function pointers
4c50606b9 refactor std to use for loop
fbbef1401 add for loop which can iterate over arrays
f0a43cfda fix nested arrays
826c7f06a fix cat example
9e74b7e75 proposed cat example implementation
5f7685336 better main symbol prototype
ca8d8f114 rename "alwaysinline" to "inline"
8205253b2 support array literals
8bc3fae1c fix error message for struct initialization on array
8818c59cb parser: fix not setting container init kind
dc162c7f8 rename "use" to "import"
86f55bce5 add void arrays test
0311b35a2 reduce precedence of {} suffix operator
74b166558 more readme formatting
39c134886 fix readme formatting
8d60ffe31 solve the mystery of undefined reference error
8409e518a fix build with gcc
18374ea8f delete parseh
b0f608a6a merge constant expression evaluator with analyzer
0c9afede9 overflow intrinsics take type as first argument
68c4f617e fix next_node_index on wrong struct
1645fa681 parser: type expressions cannot be assignment
5f9ecb856 call type as function, instead of 'as' to cast
d121ed961 fix noalias codegen
95a7f3553 Merge branch 'master' of github.com:andrewrk/zig
b28b7f63d all types are now expressions
76dc44d2a fix build with gcc
cb46d0b5b fix not adding builtin functions code
ccc8e9f4c support enums with values attached
733830f8a doc: rename match to switch in vim syntax
aaa62eda7 simple enum support
2061cd50c resolve enum types and emit debug info
b147ff5b6 fix codegen for void struct fields
4d7835e21 delete unused enumfield and enumdecl node types
fc748e2cc update enum parsing to new plan
3ef2f7058 refactor out the horrible beast that was codegen_node
d4b8852d7 parsing enum declarations
75d578660 cleanup guess number example
35b74d401 order-independent declarations even from imports
49d0971cd detect and report top level decl dependency loop
1fe1235e1 order-independent declarations
6d9119fcd add memcpy and memset intrinsics
bdca82ea6 implement pub const
0c24ed8a8 rename `restrict` to `noalias`
b7dd88ad6 suport checked arithmetic operations via intrinsics
14b9cbd43 add restrict qualifier on pointer arguments
d14a31100 implement unknown size array indexing and slicing
2a8d6af7b fix guess number example. now it works
0c84ecd19 codegen: fix else if expression and maybe unwrap expr
e1f498212 fix codegen for implicit maybe wrap
9aea99a99 implement array slicing syntax
ea69d6ecd tokenize: detect "..." after a number literal
a3c97081c add ?? maybe unwrapping binary operator
9b9fd5ad2 re-add errno.zig
c75d40680 while detects simple constant condition
5f0bfcac2 fix undefined reference to memcpy in release mode
5e64c4d92 support pub structs. move rand to std lib.
f1eafe4eb fix bug in RNG example
3fbde00ee codegen: fix lshr/ashr not looking at int sign
f751a85d5 codegen: arithmetic is all wrapping for now
8b48e242b codegen: fix array access of struct field
9c775d211 codegen: fix member function invocation
66eee5a06 add unknown size array test
3c43bc920 support unknown size arrays
4ef062b9c array syntax is [10]i32 instead of [i32; 10]
e21a83dd7 update rand example
bfb3e7fcb `#sizeof` allowed in constant expression
d006ea98d analyze: ability to call a method on a struct pointer
4ce0fcb56 fix some errors in rand example
3327b0488 add #min_value() and #max_value(
a11d0aaf6 progress toward compile time constant expression evaluation
3c5516282 fix += not allowed for pointers
b268e3de0 fix binary operators incorrectly assuming i32
e1ff201d6 fix crash when struct field is invalid
e0aa0736b add pointer dereferencing operator
22c52f1eb member functions get a namespaced symbol
4514661cf add member functions
fcacc85b4 cleanup readme
2c8958f45 import segregation for types
44d5d008d partial import segregation
333a32212 multiple files example no longer use libc
e64c0941f implement #sizeof(
fa6e3eec4 add #typeof() compiler function
b45334555 add rand example that doesn't yet work
1abb4e59b fix various bugs related to guess number example
fb1e3a5be codegen: emit debug metadata for parameters
258bc73ee fix implicit cast after unreachable bad code gen
187d00ca8 ability to access pointers with array indexing syntax
968b85ad7 closer to guess number example working
724dcdd38 error for if var expression not maybe type
9a8851515 basic maybe type working
b3ac5c16e block expressions require parens
7ba99e971 analyze if maybe var expressions
1f8e3871e parse if maybe expression
5943f9951 implement continue expression
44ca5e19d add error for break outside loop
5ceaae288 add break expression
ffc593b80 add test for while loop
a030b60ae add while loop
2e74889c3 add test for invalid field in struct value expression
08a7ce7dd add error for missing or duplicate field in struct value expr
8915883cf add error for byvalue struct param on exported fn
4e5228114 add test for error for redefinition of struct
50357dad4 add struct value expression
9ce36ba0c inline assembly uses -> instead of return
e21369a15 codegen: support byvalue struct assignment
ebd7aeb54 add test for invalid struct field access
fe3ad27d5 analyze: error for infinite size struct
431170d98 codegen: fix struct pointer field access
437e9b954 add some brainstorming example zig code
e4cb28dbf structs have debug information
4d45d14b5 use realpath to avoid duplicate imports
aa56f016f support addressof operator and struct pointer field access
5a8822c71 fix assignment operators for struct fields
28c5a8f2c analyze: clean up type checking
431d8f946 implicit casting from constant size array to string
423ee0689 add implicit casting support
8a570c458 base 10 decimals work now. closes #15
43099932d add number literal tests for integers
1e09de0ff some tests for number literals
2f15babbd better radix handling in float parsing. base 10 still doesn't work.
fe94ca8d1 readme: provide bash to get c dir
1b1453293 readme: add note about discovering libc path
f5a328187 when linking with libc use the C runtime library
f2a9b4023 more number literal syntax is supported. floats still need work
cf88fcb2a tokenizer parses all number literal types
de7c5ea10 codegen: add support for shortening cast
1f48b626a std: even more efficient inline assembly
673d63807 std: more efficient inline assembly
a292eb8d6 support inline assembly expressions with return type
66ca91680 std: expose exit syscall
4dc2b8250 constant initializers allow simple expressions
83b68c9f1 add global variable support
52e19b4a9 analyze: BlockContext has concept of module scope
304941026 `const` and `var` instead of `let` and `let mut`
8b727557d doc: update vim syntax
f17e20d5f & and &const, instead of *mut and *const
7dd292918 prefer `int *token_index` over new_token_index
9dbedb02c fix compile -Werrors
630917b29 std: factor out the write syscall and make it public
e411467e1 add number literal type
3d8eb1089 fix incorrect debug info path to imports
9ec892539 prefer checking a type's id over comparing it to a builtin_types entry
bd77bc749 structs are working
0f02e29a2 codegen and tests for modify operators. closes #16
5cb5f5dbf parsing assignment operators
eb1542c10 tokenizing assignment operators
208258820 fix short circuit expressions
64dd0b8d9 fix a + b + c and similar
38f12adbd progress on struct support
ac630d354 std: print_str no longer requires length argument
a10277bd9 prepare codebase for struct and string support
4c16eaa64 readme: update current status
f740268ab move roadmap to github issues
d697404f6 hello world working without libc
15ba5bc54 provide std.zig and add it to import paths
0dbee2300 add inline assembly support
3e8a98fa6 add language reference documentation
28debf1fc doc: update vim syntax
367ea908b readme: update int types
7b181b51a parseh: cleanup types
6a48c007a fix typo
dfda85e87 ability to call external variadic functions
4eff5f114 parseh: better results for stdio.h
face8d65a parseh: add c header files
358d699fa add test for arrays
e8550814c support assigning to arrays
6e0c3dc17 array access support
75efc3132 add array access syntax
2f0e4e9cb and floating point math, codegen does signed, unsigned
3e06ed0e8 codegen: set target triple and data layout
5dfe4d638 codegen: do all the allocas at beginning of function
113f0c945 add local variables to debug info
9c9ea9351 integrate debug scopes with block context
1279fe0ca all variables have memory addresses
b66fb607b add debugging info for array type
f6eecfe5f getting started on array types
94e61287e let is now a statement, not an expression
66e3aa091 initialize mutable variables to zero
180f539f6 cmake needs to be taught a lesson in debian paths
3c3be10a6 add mutable local variables
dfb48a2c6 update README
5fd754c84 fix hello world example
c6fff3b2c update README
daa3b6bfa add unused label error
f49e857b9 run_tests supports --reverse arg
c7615c1a8 error for extern function with void parameter
139e5ca08 fix reading source from stdin
cd6283e8c parseh: fix wrong fn parameters in some cases
5144c4fa3 exporting .h file supports void
a398afa7c more C header interoperability
96d4d0d67 parseh: detect fixed size integer types
ad3f98c61 parseh command, parses a C .h file and produces extern decls
174e58a05 test for void parameters
f4b9b03f5 fix codegen for void parameters
137fe9925 test for separate scopes not colliding
09a78d623 can't declare unreachable variables
90565a510 correkt spelling error
22fccdbb0 tests for bool stuff
f1aaf1353 add bool literals
6494cf208 fix if-else type mismatch crash
0c2cc9d2c tests for local variables
5af4ef88a local variables work
708cae378 fix analysis for variable reference
cb69cb0f2 analysis for variable declaration, but not variable reference
f8ca6c70c add labels and goto
c89f77dd8 parsing variable declaration
ffc2c9225 fix execution reaches end of non-void
e94681b96 add test for undeclared identifier error
370de7386 fix parameter access and thus shared library example
08a2311ef support if conditionals
1ed926c32 implicit void statements and all tests pass with type checking
c6a9ab107 string literals have type *const u8
ab327344b merge conflicts
dfb668208 add test for bad import
58e375d0a support multiple files
29f24e3c5 add --color cli arg to override tty detection
257cf0947 colored error messages that tell the source file
31cf43de5 analyze looks for root export decl only in the root source file
9278dbedd Merge remote-tracking branch 'origin/master' into type-checking
cd6896911 closer to multiple files working
18cfcfe44 fix ast printer names
00f4c0578 merge conflicts
55b847237 refactor code to prepare for multiple files
abbc39570 implement basics of type checking
ef482ece7 no more TypeId. use g->builtin_types.
b77c423f7 all LLVM C++ API contained to one file
f36255b67 Merge branch 'master' of github.com:andrewrk/zig
757ebefd6 untangle analyze_node into a stricter call graph
4ccb98bdc analyze no longer depends on llvm C++ API
014711c57 rename variable
9e0ff6faa factor analysis code out of codegen
020f854f6 add bad version string test case
8f0f318c3 add directive to specify root export version
ac0c5a370 minor parser refactoring
9b477230e ability to generate shared library and h file
f4721857e inline PrimaryExpr ast node
63d4e3ce1 add missing panic for shared library output
ceb2d44bf merge arithmetic binary operator gen functions
a008a81ee codegen: fix wrong node type
30442ed89 merge conflicts
9a014b52c flatten expression ast to hide operator precedence
c1d77f2a2 function call names are expressions
918e7641f rename unary expression to prefix op expression
a7555c58d add unary expression
4466a4533 parser: add missing `static`
855d51840 remove LLVMZigTargetMachineEmitToFile
e5d1f0eea parse and codegen for math expressions
f6529341a ability to export .o file
03f992273 remove unnecessary codegen llvm initialization
c810a0b38 more vim doc files
cb4773ce2 add root export declaration which is overridable by command line options
4cc95174a add tests for compile errors
4068897b6 rename standalone.cpp to run_tests.cpp
3a1defa67 figure out integers
024052b44 add pub and export visibility modifiers and optimization
9ca9a2c55 allow empty function and return with no expression
821907317 plus nesting, support C-style comments
4060ae93f call ld with correct -dynamic-linker argument
bd5cb3e50 add hook for environment variable ZIG_DEBIAN_HACK. see #1.
00a7936c9 more readable integer constant
763ce1c48 add tests
893e152da no errors during codegen
6f460de02 parser: force ast printer to be correct
311fd6708 inline AstNodeStatementExpression
22421447f fix the remaining TODOs in the source
e48717e09 clean up noreturn stuff
86a0ae869 assert(false) -> zig_unreachable(
e579011a6 inline AstNodeStatement
079ed9e35 parser: more AST printing code for debug purposes
a600df073 fix invalid memory write
0b59afec5 fix typo
c3458543c build: fix findllvm script
a1771c76c build: improve findllvm script
4fe366dfa cleanup
09f68c7c3 support linker directives
afac1a012 simple vim syntax highlighting
505317a12 debug/release mode
cda10f057 only \n and ' ' are valid whitespace characters
c7f4cadbc debug symbols implemented; debugging with gdb works
ca836191e debug information for functions
baf516717 fix not using subtarget features
fefbee166 hello world example working
925c805d4 add unreachable expression
c2e5d5002 write object file and fix void return type
e112818e2 codegen: fix param type of const strings
4bbc074dd hello world IR code looks good
7d22a89ee partial hello world codegen
3b4a2afb6 semantic analysis checks for multiple definitions of functions
a22bc8d20 more detailed AST inspection
1b24f4c73 parsing hello.zig example with recursive descent
6b911f1e9 delete parser generator. let's try recursive descent
5b663ddbb grammar doesn't need the option() construct
4236b85c7 parser generator supports a simple OR
ae0e9685c parser generator supports sub rules
72be61fc0 generated parser understands tuples
4ecb37a8a delete ELF parsing code
775e98be5 experiment with being a linker
174baa49b progress toward more complex parser gen
c36cd9d31 parsergen parsing a simple grammar
7cfceeca2 parser generator beginnings
303823b6b building part of the hello world AST
34f8d80ea tokenizing hello.zig
5f48463bd some half done thing I forgot about ¯\_(ツ)_/¯
d519ce87d preprocessor runs once
e71521335 preprocessor detects #include directives
e09932928 tokenize
899c9fe94 read a file
e66c34980 add license
1d554f316 input output
50f0ed918 link against LLVM
8e08cf4be init